
V]c        E   @@  sm  d  d l  m Z d  d l Z e j d e d e d e d e d e d e d	 e d
 e d e d e d e d e d e d e d e d e d e d e d e d e d e d e d e d e d e d e d e d e d e d  e d! e d" e d# e d$ e j  "d  d l Z d  d l Z d  d l Z d  d l	 Z
 d  d l Z d% d& l m Z m Z m Z m Z m Z 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 m Z m Z d% d, l m Z d% d- l m Z m Z m  Z  m! Z! m" Z" d% d. l m# Z# d% d/ l$ m% Z% m& Z& m' Z' m( Z( m) Z) m* Z* m+ Z+ m, Z, m- Z- m. Z. m/ Z/ d% d0 l m$ Z$ d% d1 l m0 Z0 d2 d3 l m1 Z1 d% d4 l2 m3 Z3 d% d5 l m4 Z4 d2 d6 l5 m6 Z6 d% d7 l7 m8 Z8 m9 Z9 m: Z: d% d8 l; m< Z< m= Z= m> Z> m? Z? m@ Z@ mA ZA mB ZB mC ZC mD ZD mE ZE mF ZF mG ZG mH ZH mI ZI mJ ZJ d% d9 l mK ZK y d  d: lL mM ZM Wn# eN k
 r~eO ZM eP eO f ZQ n XeP eR f ZQ e jS d  d; k reT ZU eV ZW n eX ZU eV eY f ZW d< e f d=     YZZ eZ   Z[ e   Z\ i d> e* e+ f 6d? e* e, f 6d@ e* e j] f 6d@ e* e j^ f 6d@ e* e j_ f 6d@ e* e j` f 6dA e, e* f 6dB e, e+ f 6dC e, e. f 6dD e, e ja f 6dD e, e jb f 6dE e. e, f 6dF e+ e* f 6dG e+ e, f 6dH e+ e j] f 6dH e+ e j^ f 6dH e+ e j_ f 6dH e+ e j` f 6dI e+ e ja f 6dI e+ e jb f 6dJ e j] e* f 6dJ e j^ e* f 6dJ e j_ e* f 6dJ e j` e* f 6Zc dK   Zd dL   Ze dM   Zf eg eg dN  Zh dO   Zi dP   Zj dQ   Zk dR   Zl dS   Zm dT e f dU     YZn dV en f dW     YZo dX eo f dY     YZp dZ ep f d[     YZq d\ ep f d]     YZr d^ eo f d_     YZs d` es f da     YZt db es f dc     YZu dd es f de     YZv df es f dg     YZw dh es f di     YZx dj   Zy dk es f dl     YZz dm es f dn     YZ{ do ep f dp     YZ| dq e| f dr     YZ} ds eo f dt     YZ~ du eo f dv     YZ dw eo f dx     YZ dy en f dz     YZ d{ en f d|     YZ d} en f d~     YZ d eo f d     YZ d en f d     YZ d eo f d     YZ d en f d     YZ d eo f d     YZ d en f d     YZ d e f d     YZ d en f d     YZ d en f d     YZ d en f d     YZ d eo f d     YZ d eo f d     YZ d en f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d en f d     YZ d e f d     YZ d e f d     YZ d en f d     YZ d en f d     YZ d e f d     YZ d en f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d en f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d en f d     YZ d en f d     YZ d en f d     YZ d en f d     YZ d en f d     YZ d e f d     YZ d e f d     YZ d en f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d en f d     YZ d en f d     YZ d en f d     YZ d en f d     YZ d en f d     YZ d en f d     YZ d e f d     YZ d en e f d     YZ d en f d     YZ d en f d     YZ d en e f d     YZ d en f d     YZ d en f d     YZ d en e f d     YZ d e f d     YZ d en f d     YZ d en f d     YZ d en f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ den f d    YZ de f d    YZ de f d    YZ de f d    YZ d	e f d
    YZ deo f d    YZ de f d    YZ de f d    YZ deo f d    YZ d  Z i e j d6e j d6e j d6e j d6Z den f d    YZ de f d    YZ de f d    YZ de f d    YZ d e f d!    YZ d"e f d#    YZ d$e f d%    YZ d&e f d'    YZ d(  Z d)e f d*    YZ i e d6e d6e d6Z d+  Z d,en f d-    YZ d.Z d/Z d0Z d1Z d2Z d3en f d4    YZ d5en f d6    YZ d7e f d8    YZ d9e f d:    YZ d;en f d<    YZ d=en f d>    YZ y e j Z Wn e k
 rd?  Z n Xi e j d@6e j dA6e j dB6e j dC6e j dD6e j dE6e j dF6e j dG6e j d6e j dH6e j dI6e j dJ6e j dK6e j dL6e j dM6e j dN6e j dO6e j dP6e jd6e jdQ6e dR6dS  dT6dU  dV6ZdW  ZdXen f dY    YZdZef d[    YZd\  Zd]ef d^    YZd_ef d`    YZ	daef db    YZ
dcef dd    YZdeef df    YZdgef dh    YZdief dj    YZe jdk jZedldmdndodpdqdrdsdtdudvdwdxdydzg  Zd{ef d|    YZd}ef d~    YZden f d    YZden f d    YZden f d    YZi	 dd@6ddA6ddB6ddC6dd6ddE6ddD6ddT6ddV6Zde f d    YZden ef d    YZde ef d    YZi ed6ed6e	dN6e	dQ6e	dH6e	dK6e	dP6e
d6ed6edM6edR6edI6edJ6edL6edO6ZeX d Zden f d    YZdef d    YZ def d    YZ!def d    YZ"def d    YZ#def d    YZ$de$f d    YZ%def d    YZ&def d    YZ'def d    YZ(def d    YZ)def d    YZ*def d    YZ+de+f d    YZ,den f d    YZ-den f d    YZ.e dddd Z/e dddd Z0e dddd Z1e ddddde0g  Z2e j3dd Z4e j3dd Z5e j3dd Z6d S(  i    (   t   absolute_importNt   errort   warningt	   warn_oncet   InternalErrort   CompileErrort   UtilityCodet   TempitaUtilityCodet   StringEncodingt   operatort   local_errorst   report_errort   Namingt   Nodest
   PyrexTypest   py_object_typet	   list_typet
   tuple_typet   set_typet	   dict_typet   unicode_typet   str_typet
   bytes_typet	   type_typet   Builtint   Symtabt   Utilst   find_coercion_errort   debug_disposal_codet   debug_temp_alloct   debug_coerciont   bytearray_typet
   slice_typet   _py_int_typest
   IS_PYTHON3i   (   R   R   R   R   R   R
   (   R   R   (   R   (   R   (   R   (   t   Nodet   utility_code_for_importst   analyse_type_annotation(   R   (   R   t   c_long_typet   typecastt
   error_typet   unspecified_type(   t	   TypeSlots(   R   R   R   R   R   R   R   R   R   t   basestring_typeR    (   R   (   R   i   (   R   (   t   AnnotationItem(   t   Future(   t   print_call_chain(   R   R   R   (   t
   to_pythrant   is_pythran_supported_typet#   is_pythran_supported_operation_typet   is_pythran_exprt   pythran_func_typet   pythran_binop_typet   pythran_unaryop_typet   has_np_pythrant   pythran_indexing_codet   pythran_indexing_typet!   is_pythran_supported_node_or_nonet   pythran_typet   pythran_is_numpy_func_supportedt   pythran_get_func_include_filet   pythran_functor(   t   PythranExpr(   t
   basestringi   t   NotConstantc           B@  s    e  Z d Z d    Z d   Z RS(   c         C@  s4   t  j d  k r- t t  |   j |   t  _ n  t  j S(   N(   R@   t   _objt   Nonet   supert   __new__(   t   cls(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRD   J   s    c         C@  s   d S(   Ns   <NOT CONSTANT>(    (   t   self(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   __repr__P   s    N(   t   __name__t
   __module__RB   RA   RD   RG   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR@   G   s   	sg   Cannot convert Unicode string to 'str' implicitly. This is not portable and requires explicit encoding.sG   Cannot convert Unicode string to 'bytes' implicitly, encoding required.s5   Unicode objects only support coercion to Py_UNICODE*.sF   Cannot convert 'bytes' object to unicode implicitly, decoding requiredsM   Cannot convert 'bytes' object to str implicitly. This is not portable to Py3.sT   Cannot convert 'bytes' object to basestring implicitly. This is not portable to Py3.s<   Cannot convert 'bytes' object to Py_UNICODE*, use 'unicode'.sM   Cannot convert 'basestring' object to bytes implicitly. This is not portable.sZ   str objects do not support coercion to unicode, use a unicode string literal instead (u'')sA   Cannot convert 'str' to 'bytes' implicitly. This is not portable.s@   'str' objects do not support coercion to C types (use 'bytes'?).sB   'str' objects do not support coercion to C types (use 'unicode'?).s?   Cannot convert 'char*' to unicode implicitly, decoding requiredc         @  s   t  j    } | d  k r | S| j d r t   f d   t j t j t j t j	 f D  r   d j
 rq | S| j d d k r | Sd   d j Sn | Sd  S(	   Nt   c_string_encodingc         3@  s   |  ] } |   k Vq d  S(   N(    (   t   .0t   t(   t
   type_tuple(    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>   s    i   t   asciit   defaults_   '%s' objects do not support coercion to C types with non-ascii or non-default c_string_encodingi    (   RN   RO   (   t   coercion_error_dictt   getRB   t
   directivest   anyR   t   c_char_ptr_typet   c_uchar_ptr_typet   c_const_char_ptr_typet   c_const_uchar_ptr_typet   is_pyobjectt   name(   RM   RO   t   envt   err(    (   RM   s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   z   s    c         C@  s0   i t  d 6t d 6t d 6t d 6j |  j d  S(   Nt   bytest	   bytearrayt   strt   unicodet   c_string_type(   R   R   R   R   RQ   RR   (   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   default_str_type   s    
c          G@  su   xn |  D]f } | d k s t | j t  rE t | j t  rE q n  | j d k  r t | j d d d q q Wd S(   s   
    Raise a warning on nodes that are known to have negative numeric values.
    Used to find (potential) bugs inside of "wraparound=False" sections.
    i    sf   the result of using negative indices inside of code sections marked as 'wraparound=False' is undefinedt   leveli   N(   RB   t
   isinstancet   constant_resultR!   t   floatR   t   pos(   t   nodest   node(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   check_negative_indices   s    	c         C@  s>  | j  s | d  k r' | j |   } n  | t k r | j r t | j  d k r y | j d j } Wq| t k
 rx q| Xq q n  | d  k	 r:| j  r:| d  k	 r | j   r y | j	 | j
 } Wn t t t f k
 r q X| j |   Sn  t g  | j	 D] } | j |   ^ q  } t |  d k r:| j   Sn  d  S(   Ni   i    (   t   is_sequence_constructorRB   t
   infer_typeR   t   cf_statet   lent   rhst   AttributeErrort   has_constant_resultt   argsRd   t
   ValueErrort	   TypeErrort
   IndexErrort   sett   pop(   RZ   t   seq_nodet
   index_nodet   seq_typet   itemt
   item_types(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   infer_sequence_item_type   s(    	+c         C@  s   g  | D] } | d k r. t d t d  f n | j re t | j | j rR | j n d g | j  no | j r t | j | j	 | j
 | j f  nB | j   r | j | j | j t k r t | j  n d f n d ^ q } d | k r d S|  t |  f S(   s  
    Recursively generate a deduplication key from a sequence of values.
    Includes Cython node types to work around the fact that (1, 2.0) == (1.0, 2), for example.

    @param outer_type: The type of the outer container.
    @param item_nodes: A sequence of constant nodes that will be traversed recursively.
    @return: A tuple that can be used as a dict key for deduplication.
    N(   RB   R   t   typeRj   t   make_dedup_keyt
   is_literalt   mult_factorRq   t   is_slicet   startt   stopt   stepRp   Rd   t   tuple(   t
   outer_typet
   item_nodesRh   t	   item_keys(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR~      s
    
c         C@  s   |  d  k r d t f S|  j t j k rA |  j d k rA d t f S|  j j rm d |  j j	 |  j j	 f t f Sd |  j j	 t f Sd  S(   Ns   __Pyx_CppExn2PyErr();t   *st   try { throw; } catch(const std::exception& exn) {PyErr_SetString(%s, exn.what());} catch(...) { PyErr_SetNone(%s); }sc   %s(); if (!PyErr_Occurred())PyErr_SetString(PyExc_RuntimeError, "Error converting c++ exception.");(
   RB   t   FalseR}   R   t   c_char_typet   valuet   TrueRX   t   entryt   cname(   t   exception_value(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   get_exception_handler   s    

	
c         C@  sH   | rD | r( |  j  |  j d |   qD |  j  |  j d |   n  d  S(   Ns   __Pyx_ErrOccurredWithGIL()s   PyErr_Occurred()(   t   putlnt   error_goto_if(   t   codet   check_py_exceptionRf   t   nogil(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   maybe_check_py_error   s    c         C@  s   t  |  \ } } |  j d  |  j d |  | rR |  j |  j | |   n  t |  | | |  |  j d  | r |  j d t  n  |  j |  | r |  j   n  |  j |  j |   |  j d  d  S(   Ns   try {s   %ss   } catch(...) {t   declare_gilstatet   }(   R   R   t   error_goto_if_nullR   t   put_ensure_gilR   t   put_release_ensured_gilt
   error_goto(   R   Rf   t   insidet	   py_resultR   R   t   raise_py_exceptionR   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   translate_cpp_exception   s    c         C@  se  t  |  \ } }	 t  |  \ }
 } |  j d  |  j | j d |   t |  |	 | |  |  j d  |  j d |  t |  | | |  |  j d  | r |  j d t  n  |  j |
  | r |  j   n  |  j |  j |   |  j d  |  j d  | r|  j d t  n  |  j |  | r>|  j   n  |  j |  j |   |  j d  d  S(   Ns   try {s   __pyx_local_lvalue = %s;s   } catch(...) {R   R   (   R   R   t   declaration_codeR   R   R   R   R   (   R   Rf   t   lhs_typet   lhs_codet   rhs_codet   lhs_exc_valt   assign_exc_valR   t   handle_lhs_exct   lhc_check_py_exct   handle_assignment_exct   assignment_check_py_exc(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   translate_double_cpp_exception	  s0    t   ExprNodec           B@  sJ  e  Z dI Z dI Z dI Z dI Z dI Z e Z	 e Z
 e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z dI Z e Z e Z e Z e Z e d  e  j! d   Z" d   Z# d   Z$ d   Z% d   Z& d   Z' d   Z( dI d  Z) d	   Z* dI d
  Z+ d   Z, d   Z- d   Z. d   Z/ d   Z0 d   Z1 d   Z2 d   Z3 d   Z4 d   Z5 d   Z6 d   Z7 d   Z8 d   Z9 d   Z: d   Z; d d  Z< d   Z= d   Z> d   Z? d    Z@ d!   ZA d"   ZB d#   ZC d$   ZD d%   ZE d&   ZF d'   ZG d(   ZH d)   ZI d*   ZJ d+   ZK d,   ZL d-   ZM d.   ZN d/   ZO d0   ZP d1   ZQ d2   ZR d3   ZS d4   ZT e dI dI d5  ZU e d6  ZV d7   ZW d8   ZX d9   ZY d:   ZZ d;   Z[ d<   Z\ e dI d=  Z] d>   Z^ d?   Z_ d@   Z` dA   Za dB   Zb dC   Zc dD   Zd dE   Ze dF dJ dG  Zf eg dH    Zh RS(K   t   fgett   subexprsc         C@  s-   t  | d  t d |  j j | f   d  S(   Ns   not implementeds   %s.%s not implemented(   R.   R   t	   __class__RH   (   RF   t   method_name(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   not_implemented  s    c         C@  s   d S(   Ni    (    (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt	   is_lvalue  s    c         C@  s   |  j    o |  j j S(   N(   R   R}   t   is_memoryviewslice(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   is_addressable  s    c         C@  s   |  j  j o |  j S(   N(   R}   RX   t   is_temp(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   is_ephemeral  s    c         C@  sk   g  } x^ |  j  D]S } t |  |  } | d  k	 r t |  t k rS | j |  qc | j |  q q W| S(   N(   R   t   getattrRB   R}   t   listt   extendt   append(   RF   Rg   RY   Rz   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   subexpr_nodes  s    c         C@  s   |  j  r |  j S|  j   Sd  S(   N(   R   t	   temp_codet   calculate_result_code(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   result  s    	c         C@  s5   t  |   r t |   S| d  k	 s( t  t |  |  S(   N(   R9   R/   RB   t   AssertionError(   RF   t   type_(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   pythran_result  s    
c         C@  s   t  S(   sZ   
        Subtypes may return False here if result temp allocation can be skipped.
        (   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   is_c_result_required  s    c         C@  sS   |  j  r7 |  j j r7 | t k r7 t | t |  j    St | |  j   |  j    S(   N(   R   R}   RX   R   R'   R   t   ctype(   RF   R}   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt	   result_as  s    c         C@  s   |  j  t  S(   N(   R   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   |  j  p |  j S(   N(   t   result_ctypeR}   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   d  S(   N(   RB   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   get_constant_c_result_code  s    	c         C@  s   d  S(   N(    (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   calculate_constant_result  s    
c         C@  s   |  j  t k	 o |  j  t k	 S(   N(   Rd   t   constant_value_not_sett   not_a_constant(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRp   +  s    c         C@  s   t  |  j d  d  S(   Ns   Invalid compile-time expression(   R   Rf   (   RF   t   denv(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   compile_time_value/  s    c         C@  s$   t  |  j d | j j | f  d  S(   Ns(   Error in compile-time expression: %s: %s(   R   Rf   R   RH   (   RF   t   e(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   compile_time_value_error3  s    c         C@  s   t  |  j d  d  S(   Ns   Cannot assign to or delete this(   R   Rf   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_target_declaration9  s    c         C@  s   |  j  |  } | j   | S(   N(   t   analyse_typest   check_const(   RF   RZ   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_const_expression>  s    
c         C@  s   |  j  |  S(   N(   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_expressionsG  s    c         C@  s   |  j  |  S(   N(   t   analyse_target_types(   RF   RZ   Rn   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_target_expressionM  s    c         C@  s"   |  j  |  } | j |  } | S(   N(   R   t   coerce_to_boolean(   RF   RZ   Rh   t   bool(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_boolean_expressionS  s    c         C@  s%   |  j  |  } | j |  j |  S(   N(   R   R   t   coerce_to_simple(   RF   RZ   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_temp_boolean_expressionY  s    c         C@  sQ   t  |  d  r" |  j d  k	 r" d St g  |  j   D] } | j |  ^ q2 d  S(   NR}   (    (    (   t   hasattrR}   RB   t   sumR   t   type_dependencies(   RF   RZ   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   f  s    c         C@  s^   t  |  d  r% |  j d  k	 r% |  j St  |  d  rM |  j d  k	 rM |  j j S|  j d  d  S(   NR}   R   Rk   (   R   R}   RB   R   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   m  s
    
c         C@  s(   |  j  p' |  j p' |  j j p' |  j j S(   N(   R   R   R}   t   is_arrayt   is_cfunction(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   nonlocally_immutabley  s    i    c         C@  s=   t  |  j d |  d t |  j d t |  d | d t j S(   s   
        Return a node that represents the (type) result of an indexing operation,
        e.g. for tuple unpacking or iteration.
        t   baset   indexR   Rd   R}   (   t	   IndexNodeRf   t   IntNodeR^   R   t   c_py_ssize_t_type(   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   inferable_item_node~  s    c         C@  s   d  S(   N(   RB   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_as_module  s    c         C@  s   d  S(   N(   RB   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_as_type  s    c         C@  s   d  S(   N(   RB   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_as_extension_type  s    c         C@  s   |  j  d  d  S(   NR   (   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   |  j  |  S(   N(   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s&   |  j  r" |  j  j r" |  j   n  d  S(   N(   R}   RX   t	   gil_error(   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   nogil_check  s    c         C@  s,   | j  r( |  j j r( t |  j d  n  d  S(   Ns3   Assignment of Python object not allowed without gil(   R   R}   RX   R   Rf   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   gil_assignment_check  s    c         C@  s   |  j    t S(   N(   t	   not_constR   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    
c         C@  s   t  |  j d  d  S(   Ns$   Not allowed in a constant expression(   R   Rf   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   |  j    t S(   N(   t   addr_not_constR   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   check_const_addr  s    
c         C@  s   t  |  j d  d  S(   Ns   Address is not constant(   R   Rf   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   |  j  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   result_in_temp  s    c         C@  s
   |  j    S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   target_code  s    c         C@  s   |  j  d  d  S(   NR   (   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   |  j  r+ t d |  j j |  j f   n  |  j } | j s | j rR t j	 } n+ |  j
 pm | j pm |  j   s} d  |  _  d  S| j j | d |  j |  _  n	 d  |  _  d  S(   Ns'   Temp allocated multiple times in %r: %rt
   manage_ref(   R   t   RuntimeErrorR   RH   Rf   R}   t   is_voidRX   R   R   t   result_is_usedR   R   RB   t	   funcstatet   allocate_tempt   use_managed_ref(   RF   R   R}   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   allocate_temp_result  s    	"					c         C@  s   |  j  s |  j s d  S|  j rL t j j |  j d j    f |  j d n d } |  j r t d |  j |  j	 j
 | f   q t d |  j	 j
 | f   n  | j j |  j   |  j  |  _ d  |  _  d  S(   Ni    i   s   (?)s+   temp %s released multiple times in %s at %rs*   no temp, but release requested in %s at %r(   R   R   Rf   t   ost   patht   basenamet   get_descriptiont   old_tempR   R   RH   R   t   release_tempRB   (   RF   R   Rf   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   release_temp_result  s    		<	c         C@  s<   |  j  j r8 |  j   r8 | j |  j   |  j    n  d S(   s   
        If result is a pyobject, make sure we own a reference to it.
        If the result is in a temp, it is already a new reference.
        N(   R}   RX   R   t
   put_increfR   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   make_owned_reference  s    c         C@  s/   |  j    s+ | j |  j   d |  j n  d S(   sJ   
        Make sure we own the reference to this memoryview slice.
        t   have_gilN(   R   t   put_incref_memoryviewsliceR   t   in_nogil_context(   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   make_owned_memoryviewslice  s    c         C@  s   |  j  |  | j |  j  |  j r6 |  j |  n  |  j |  |  j r |  j j pa |  j j r |  j	 |  |  j
 |  n  d  S(   N(   t    generate_subexpr_evaluation_codet   mark_posRf   R   R   t   generate_result_codeR}   t	   is_stringt   is_pyunicode_ptrt   generate_subexpr_disposal_codet   free_subexpr_temps(   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_evaluation_code  s    	"c         C@  s(   x! |  j    D] } | j |  q Wd  S(   N(   R   R  (   RF   R   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    c         C@  s   |  j  d  d  S(   NR	  (   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    c         C@  s   |  j  r |  j j s! |  j j r> |  j |  |  j |  n  |  j   r |  j j ru | j |  j   |  j	    q |  j j
 r | j |  j   d |  j | j d |  j    | j d |  j    q q n |  j |  d  S(   NR  s   %s.memview = NULL;s   %s.data = NULL;(   R   R}   R
  R  R  R  R   RX   t   put_decref_clearR   R   t   put_xdecref_memoryviewsliceR  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_disposal_code  s    	 c         C@  s(   x! |  j    D] } | j |  q Wd  S(   N(   R   R  (   RF   R   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s    c         C@  s   |  j  r |  j j s! |  j j r> |  j |  |  j |  q |  j j rd | j d |  j    q |  j j	 r | j d |  j    | j d |  j    q n |  j |  d  S(   Ns   %s = 0;s   %s.memview = NULL;s   %s.data = NULL;(
   R   R}   R
  R  R  R  RX   R   R   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_post_assignment_code+  s    	c         C@  s   d  S(   N(    (   RF   Rn   R   t   overloaded_assignmentt   exception_checkR   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_assignment_code9  s    c         C@  s   d  S(   N(    (   RF   R   t   ignore_nonexisting(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_deletion_code@  s    c         C@  s9   |  j  r( |  j j s5 |  j |  q5 n |  j |  d  S(   N(   R   R}   R   R   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt
   free_tempsF  s    	c         C@  s(   x! |  j    D] } | j |  q Wd  S(   N(   R   R  (   RF   R   t   sub(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  M  s    c         C@  s   d  S(   N(    (   RF   RZ   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_function_definitionsQ  s    c         C@  s(   x! |  j    D] } | j |  q Wd  S(   N(   R   t   annotate(   RF   R   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  V  s    c         C@  sr  |  } |  j  } |  j | |  r% |  S| j } | rJ | j rJ | j } n  | j r_ | j } n  | j sq | j rB| j r | j r | j r | j	 j r | j	 } xN | j
   D]= } | j |  r | | _  | j  j | _ t | j _ |  Sq Wn  | j rt |  j d  n& | j r%| j r%|  St |  j d  t |  _  |  S|  j d  k	 rt |  j d d d |  j } | j | |  n  | j rd d l m } | j  j s| j  j rt | | |  } q| j  j rt j | |  j | |  } q| j st |  j d | f  qqn| j  j  r3t | _  n  | j  j! | d	 |  j" d
 |  j# sn| j  j$ j | j$  rd }	 | j  | f }
 n d }	 | j  j$ | j$ f }
 t |  j |	 |
  qnn| j rO| j  j s| t% k r| j  j& rt' | |  } qt( | | d | } n  | j  j) |  sn| j* d  k	 rLt+ | | |  } qLqnnt, |  rnt- | j   rn| St, | j   rt- |  r| St( | | d | } n | j  j r| r| j. rt/ |  j d |  n  t0 | | |  } n | j1 r%| | k r%| j2 |  r%t3 | | |  } nI | j  | k p[t4 | j   t4 |  k p[| j2 |  sn|  j5 |  n  | S(   Ns   Type is not specializeds/   Cannot coerce to a type that is not specializedRY   t    R}   i   (   t
   MemoryViews&   Cannot convert '%s' to memoryviewslicet	   broadcastt   copyings3   Memoryview '%s' not conformable to memoryview '%s'.s-   Different base types for memoryviews (%s, %s)sT   Cannot pass Python object as C++ data structure reference (%s &), will pass by copy.(6   R}   t   check_for_coercion_errort   is_referencet   ref_base_typet   is_constt   const_base_typet   is_fusedR   t   is_ptrt	   base_typet"   get_all_specialized_function_typest   same_asR   R   t   usedR   Rf   t   is_null_ptrR(   t   coercion_typeRB   t   NameNodet	   coerce_toR   R  R  RX   t   CoerceToMemViewSliceNodeR   t   CythonArrayNodet   from_carrayt   is_errort   writable_neededt   conforms_tot   is_memview_broadcastt   is_memview_copy_assignmentt   dtypeR   t   is_intt   CoerceIntToBytesNodet   CoerceToPyTypeNodet
   subtype_ofRd   t   PyTypeTestNodeR2   R0   t   is_cpp_classR   t   CoerceFromPyTypeNodet
   is_complext   assignable_fromt   CoerceToComplexNodeR^   t   fail_assignment(   RF   t   dst_typeRZ   t   srct   src_typet   used_as_referencet	   signatureRh   R  t   msgt   tup(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  \  s    								!				9c         C@  s!   t  |  j d |  j | f  d  S(   Ns   Cannot assign type '%s' to '%s'(   R   Rf   R}   (   RF   RC  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRB    s    c         C@  s   | r | r d } n  t  |  j | f | |  } | d  k	 rf t |  j | i |  j d 6| d 6 t S| r} |  j |  t St S(   Ns)   Cannot assign type '%(FROM)s' to '%(TO)s't   FROMt   TO(   R   R}   RB   R   Rf   R   RB  R   (   RF   RC  RZ   t   failRO   t   message(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	%c         C@  s   |  j  t j |  S(   N(   R.  R   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   coerce_to_pyobject  s    c      	   C@  s  |  j    r4 t |  j  } t |  j d | d | S|  j } | j sO | j rS |  S| j sw | j	 sw | j
 sw | j r t |  |  S| j r t |  j d t |  j d |  d d d g  j |  S| j r t | j  d k } t |  j d | d | St |  j d	 |  |  Sd  S(
   NR   Rd   t   functiont   objt	   attributes   operator boolRq   i    s%   Type '%s' not acceptable as a boolean(   Rp   R   Rd   t   BoolNodeRf   R}   t   is_enumR2  RX   R8  R&  t   is_floatt   CoerceToBooleanNodeR=  t   SimpleCallNodet   AttributeNodeR   t	   is_ctupleRm   t
   componentsR   (   RF   RZ   t
   bool_valueR}   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s*    	$			c         C@  s'   |  j  j r |  S|  j t j |  Sd  S(   N(   R}   R8  R.  R   R&   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   coerce_to_integer  s    c         C@  s!   |  j    r |  St |  |  Sd  S(   N(   R   t   CoerceToTempNode(   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   coerce_to_temp  s    c         C@  s!   |  j    r |  S|  j |  Sd  S(   N(   t	   is_simpleR]  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s
   |  j    S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^    s    c         C@  sC   |  j  r& |  j  j p |  j  j r& t S|  j   r? |  j d  k	 St S(   N(   R}   RX   R   R   Rp   Rd   RB   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   may_be_none!  s    c         C@  s   d  S(   N(   RB   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   as_cython_attribute)  s    t   PyExc_TypeErrorc         C@  s'   |  j    r t |  | | |  S|  Sd  S(   N(   R_  t   NoneCheckNode(   RF   RM  R   t   format_args(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   as_none_safe_node,  s    c         K@  sp   d j    } xQ | D]I } | | k r+ q n  y t | |  } Wn t k
 rQ q X| | | <q W|  | j |  S(   s   Instantiate this node class from another node, properly
        copying over all attributes that one would forget otherwise.
        s1   cf_state cf_maybe_null cf_is_null constant_result(   t   splitR   Ro   Rf   (   RE   Rh   t   kwargst
   attributest	   attr_nameR   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt	   from_node4  s    N(    (i   RH   RI   RB   R   R}   t
   annotationR   R   R   R   R   R   t   is_numpy_attributeRj   t   is_dict_literalt   is_set_literalt   is_string_literalt   is_attributet   is_subscriptR   t   is_buffer_accesst   is_memview_indext   is_memview_sliceR5  R6  t   saved_subexpr_nodesR   t	   is_targett
   is_starredR   Rd   t   propertyR	   t
   attrgettert   child_attrsR   R   R   R   R   R   R   R   R   R   R   R   R   Rp   R   R   R   R   R   R   R   R   R   Rk   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R  R  R  R	  R  R  R  R  R  R  R  R  R  R.  RB  R   RN  R   R[  R]  R   R^  R_  R`  Rd  t   classmethodRi  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   '  s   s						
																			
																													z									t   AtomicExprNodec           B@  s    e  Z g  Z d    Z d   Z RS(   c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  M  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  O  s    (   RH   RI   R   R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR{  F  s   	t   PyConstNodec           B@  sA   e  Z d  Z e Z d   Z d   Z d   Z d   Z d   Z	 RS(   i   c         C@  s   d S(   Ni   (    (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^  X  s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  [  s    c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   ^  s    c         C@  s   |  j  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   a  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  d  s    (
   RH   RI   R   R   R}   R^  R_  R   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR|  R  s   				t   NoneNodec           B@  s;   e  Z d  Z d Z d Z d Z d   Z d   Z d   Z	 RS(   i   t   Py_Nonec         C@  s   d  S(   N(   RB   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   r  s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  u  s    c         C@  sK   | j  p | j p | j s2 t |  j d |  n  t t |   j | |  S(   Ns   Cannot assign None to %s(   RX   R   R2  R   Rf   RC   R}  R.  (   RF   RC  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  x  s    N(
   RH   RI   t   is_noneR   RB   Rd   R   R   R_  R.  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR}  h  s   		t   EllipsisNodec           B@  s   e  Z d  Z e Z d   Z RS(   t   Py_Ellipsisc         C@  s   t  S(   N(   t   Ellipsis(   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    (   RH   RI   R   R  Rd   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   t	   ConstNodec           B@  s\   e  Z d  Z d	 Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z RS(
   i   c         C@  s   d S(   Ni   (    (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^    s    c         C@  s   d S(   Ni   (    (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_    s    c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s
   |  j    S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  |  j  S(   N(   R^   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    N(   RH   RI   R   RB   R   R^  R   R_  R   R   R   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   							RR  c           B@  s5   e  Z e j Z d    Z d   Z d   Z d   Z RS(   c         C@  s   |  j  |  _ d  S(   N(   R   Rd   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   |  j  S(   N(   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s6   |  j  j r |  j r d p d St t |  j   Sd  S(   Nt   Py_Truet   Py_False(   R}   RX   R   R^   t   int(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   | |  j  k r |  S| t k r5 |  j  t j k r5 |  S| j rr |  j  j rr t |  j d |  j d |  j	 d t j S| j r |  j  j r t |  j d |  j d |  j	 d t
 j St j |  | |  S(   NR   Rd   R}   (   R}   R   R   t	   bool_typeRX   R8  RR  Rf   R   Rd   R   t   c_bint_typeR  R.  (   RF   RC  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.    s    	
	
(	   RH   RI   R   R  R}   R   R   R   R.  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRR    s
   				t   NullNodec           B@  s&   e  Z e j Z d  Z d Z d   Z RS(   t   NULLi    c         C@  s   |  j  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    (   RH   RI   R   t   c_null_ptr_typeR}   R   Rd   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   	t   CharNodec           B@  s,   e  Z e j Z d    Z d   Z d   Z RS(   c         C@  s   t  |  j  |  _ d  S(   N(   t   ordR   Rd   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  |  j  S(   N(   R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   d t  j |  j  S(   Ns   '%s'(   R   t   escape_charR   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    (   RH   RI   R   R   R}   R   R   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   			R   c           B@  st   e  Z d  Z d  Z d Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z d	   Z d
   Z RS(   R  c         K@  s5   t  j |  | |  d | k r1 |  j   |  _ n  d  S(   NR}   (   R   t   __init__t   find_suitable_type_for_valueR}   (   RF   Rf   t   kwds(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    c         C@  s  |  j  t k r4 y |  j   Wq4 t k
 r0 q4 Xn  |  j sb |  j   sb |  j sb |  j d k r |  j d k rw d pz d } t j	 |  j | d f } |  j
 rt j | |  j
  } qnU d |  j  k o d k  n r|  j
 r |  j
 j r |  j
 } qt j } n	 t j } | S(	   Nt   LLi   i   R  i   I       i   I       (   Rd   R   R   Rr   t   is_c_literalRp   t   unsignedt   longnessR   t   modifiers_and_name_to_typeR}   t   widest_numeric_typeR8  R&   R   (   RF   t   rankt   suitable_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s$    			c         C@  sl  |  j  | k r |  S| j r |  j   r] t |  j d d t |  j  d | d t |  j  St |  j d |  j d | d t	 Sn  | j
 r | j r t |  j d |  j d |  j d | d t d |  j d |  j } | S| j r&t |  j d |  j d |  j d t j d t d |  j d |  j } n3 t |  j d |  j d |  j d |  j d |  j } t j | | |  S(   NR   s   %d.0R}   Rd   R  R  R  (   R}   RT  Rp   t	   FloatNodeRf   R  Rd   Re   R   R   t
   is_numericR?  R   R   R  R  RX   R   R   R   R  R.  (   RF   RC  RZ   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.    s(    	%
	c         C@  s:   t  |  j d |  j d |  j d t j d |  j d |  j S(   NR   Rd   R}   R  R  (   R   Rf   R   Rd   R   R  R  R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   *  s
    		c         C@  sR   |  j  j r? t t j |  j   } | j | |  j  |  _ n |  j	   |  _ d  S(   N(
   R}   RX   R^   R   t   str_to_numberR   t
   get_py_intR  t   result_codeR   (   RF   R   t   plain_integer_string(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  1  s    c         C@  s   |  j  |  j } } |  j   } | p( | r |  j j r | d d k r | d d k r |  j j t j j k ry d } q |  j j t j j k r d } q n  | | | S(   Ni    t   -i   t   0R  t   L(	   R  R  t   value_as_c_integer_stringR}   R8  R  R   t   c_longlong_typeR&   (   RF   R  R  t   literal(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   9  s    9	c         C@  s(  |  j  } t |  d k r | Sd } | d d k rH d } | d } n  | d d k r | d } | r | d k r | d j   r t t j |   } q | d k r d | d } q | d	 k r t t | d d   } q n< | j   r |  j r |  j r | s d
 t |  } q n  | | S(   Ni   R  i    R  i   R  t   oOxX0123456789t   oOt   bBs   0x%X(	   R   Rm   t   isdigitR^   R   R  R  R  R  (   RF   R   t   neg_signt   literal_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  D  s&    	
" c         C@  s   |  j  S(   N(   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   `  s    c         C@  s   t  j |  j  |  _ d  S(   N(   R   R  R   Rd   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   c  s    c         C@  s   t  j |  j  S(   N(   R   R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   f  s    N(   RH   RI   R  R  RB   R  R  R  R.  R   R  R   R  R   R   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s   									R  c           B@  sG   e  Z e j Z d    Z d   Z d   Z d   Z d   Z	 d   Z
 RS(   c         C@  s   t  |  j  |  _ d  S(   N(   Re   R   Rd   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   l  s    c         C@  s   t  |  j  S(   N(   Re   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   o  s    c         C@  s   | j  r= |  j j r= t |  j d |  j d |  j d t j S| j rw |  j j  rw t |  j d |  j d |  j d | St	 j
 |  | |  S(   NR   Rd   R}   (   RX   R}   RT  R  Rf   R   Rd   R   t
   float_typeR  R.  (   RF   RC  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  r  s    	
	c         C@  s   |  j  S(   N(   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  sh   |  j  } t | t  s t  t t |   } | d k r@ d S| d k rP d S| d k r` d S| Sd  S(   Nt   nans   (Py_HUGE_VAL * 0)t   inft   Py_HUGE_VALs   -infs   (-Py_HUGE_VAL)(   R   Rc   R?   R   t   reprRe   (   RF   t   strvalt   cmpval(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	c         C@  s@   |  j    } |  j j r3 | j |  j |  |  _ n	 | |  _ d  S(   N(   R   R}   RX   t   get_py_floatR   R  (   RF   R   t   c_value(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    (   RH   RI   R   t   c_double_typeR}   R   R   R.  R   R   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  i  s   						c      
   C@  sH  t  j |   } | d  k	 r | S| j   j |   } | rz | j rz | j j ss | j j ss | j j ss | j j	 rz | j Sd d l
 m
 } t d t   | d | d | d d f } y' | d |  d | d j d	 | } Wn t k
 r nK X| j j d j } t | t  r>| j |  } t | t  r>| j Sn  Wd  QXd  S(
   Ni   (   t   TreeFragmentt   ignorei    i   i   u
   sizeof(%s)RY   t   initial_pos(   R   t   parse_basic_typeRB   t   global_scopet   lookupR}   t   is_extension_typet   is_struct_or_uniont   is_builtin_typeR=  R  R
   R   t   filenameR   t   roott   statst   exprRc   t   SizeofTypeNodeR   t   arg_type(   RY   Rf   RZ   R}   t   global_entryR  t   declarationt   sizeof_node(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   _analyse_name_as_type  s.    't	   BytesNodec           B@  sq   e  Z e Z e Z d    Z d
 d  Z d   Z	 d   Z
 d   Z d   Z d   Z d   Z d   Z d	   Z RS(   c         C@  s   |  j  |  _ d  S(   N(   R   Rd   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  sA   t  j |  j | | |  |  j j  } t |  j d | d | S(   NR   Rd   (   R   t   bytes_literalR   t   encodingR  Rf   (   RF   R   R   R   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   as_sliced_node  s    (c         C@  s   |  j  j   S(   N(   R   t
   byteencode(   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  |  j j d  |  j |  S(   Ns	   ISO8859-1(   R  R   t   decodeRf   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  |  j  d k S(   Ni   (   Rm   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   can_coerce_to_char_literal  s    c         C@  s(   t  |  j  } t |  j d | d | S(   NR   Rd   (   R   R   RR  Rf   (   RF   RZ   RZ  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s  |  j  | k r |  S| j r~ |  j   s< t |  j d  |  S| j rY t |  j d  |  St |  j d |  j d t |  j  St	 |  j d |  j d |  j
 } | j r | t t j f k r t j | _  n |  j | | d t | S| t j t j f k r| | _  | S| t j t j t j f k rZ| t j k rAt j n t j | _  t | |  S| j t j  r| j s| j r| | _  | Sn  t j | | |  S(   Ns?   Only single-character string literals can be coerced into ints.sR   Bytes literals cannot coerce to Py_UNICODE/Py_UCS4, use a unicode literal instead.R   Rd   RL  (   R}   R8  R  R   Rf   t   is_unicode_charR  R   R  R  Rd   RX   R   R   R   R   R   R   RT   RV   RU   RW   t   c_void_ptr_typet   CastNodeR@  R=  R#  R  R.  (   RF   RC  RZ   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.    s:    		!			c         C@  sv   |  j  j r! | j |  j  } nH |  j  j rB | j |  j  } n' |  j j   } t |  j  t j	 |  } | |  _
 d  S(   N(   R}   RX   t   get_py_string_constR   R#  t   get_string_constt   as_c_string_literalR'   R   R  R  (   RF   R   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    c         C@  s   d  S(   N(   RB   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   |  j  S(   N(   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    N(   RH   RI   R   Rn  R   R}   R   RB   R  R   R   R  R   R.  R  R   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   						&		t   UnicodeNodec           B@  sw   e  Z e Z d
 Z e Z d    Z d   Z	 d
 d  Z
 d   Z d   Z d   Z d   Z d   Z d   Z d	   Z RS(   c         C@  s   |  j  |  _ d  S(   N(   R   Rd   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  |  j |  j |  S(   N(   R  R   Rf   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  j |  j |   r d  St  j |  j | | |   } |  j j | _ |  j d  k	 r t  j |  j | | |  |  j j  } n d  } t |  j	 d | d | d | S(   NR   t   bytes_valueRd   (
   R   t   string_contains_surrogatesR   RB   t   EncodedStringR  R  R  R  Rf   (   RF   R   R   R   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    %c         C@  s%  | |  j  k r n| j ro |  j   s; t |  j d  |  St |  j  } t |  j d | d t |  d | S| j	 s | j
 r |  j d  k	 r t |  j d |  j j | |  S| j r t |  j d |  j } | | _  | St |  j d  n. | t t j f k r!|  j | | d t n  |  S(   Nsh   Only single-character Unicode string literals or surrogate pairs can be coerced into Py_UCS4/Py_UNICODE.R}   R   Rd   s   Unicode literals do not support coercion to C types other than Py_UNICODE/Py_UCS4 (for characters) or Py_UNICODE* (for strings).RL  (   R}   R  R  R   Rf   R  R   R   R^   RX   R
  R  RB   R  R.  R  R  R   R   R+   R   R   (   RF   RC  RZ   t	   int_valueRh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  -  s.    			
			
c         C@  s   t  |  j  d k S(   Ni   (   Rm   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  K  s    c         C@  s(   t  |  j  } t |  j d | d | S(   NR   Rd   (   R   R   RR  Rf   (   RF   RZ   RZ  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   Q  s    c         C@  s   t  j |  j  S(   N(   R   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   contains_surrogatesU  s    c         C@  s   |  j  j r |  j   r | j t d  |  _ | j |  j  } | j |  j  } | d  k ra d  S| j
 |  j  | j d |  j | | | j |  j |  j  f  | j |  j d |  j  q | j |  j  |  _ n | j |  j  |  _ d  S(   Nt   ustringsG   %s = PyUnicode_FromUnicode(%s, (sizeof(%s) / sizeof(Py_UNICODE))-1); %ss   __Pyx_PyUnicode_READY(%s)(   R}   RX   R  t   get_py_constR   R  t   get_pyunicode_ptr_constR   t   get_cached_constants_writerRB   R  Rf   R   R   t   put_error_if_negR  (   RF   R   t
   data_cnamet
   const_code(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  X  s$    c         C@  s   |  j  S(   N(   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   p  s    c         C@  s   |  j  S(   N(   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   s  s    N(   RH   RI   R   Rn  RB   R  R   R}   R   R   R  R.  R  R   R  R  R   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   								t
   StringNodec           B@  st   e  Z e Z e Z d	 Z d	 Z d    Z	 d   Z
 d	 d  Z d   Z d   Z d   Z d   Z d   Z d   Z RS(
   c         C@  s"   |  j  d  k	 r |  j  |  _ n  d  S(   N(   t   unicode_valueRB   Rd   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s(   t  |  j p |  j j d  |  j |  S(   Ns	   ISO8859-1(   R  R  R   R  Rf   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c      
   C@  s   t  |  j  |  j | | |   } |  j j | _ |  j d  k	 r t j |  j |   r] d  St j |  j | | |   } n d  } t |  j	 d | d | d | d |  j
 S(   NR   R  Rd   t   is_identifier(   R}   R   R  R  RB   R   R  R  R  Rf   R  (   RF   R   R   R   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    %c         C@  sv   | t  k	 rr t j |  rr | j sG t |  j d |  j j | |  S| t j	 k	 rr |  j
 | | d t qr n  |  S(   NR   RL  (   R   R   R;  RX   R  Rf   R   R.  R   R+   R   R   (   RF   RC  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.    s    	"c         C@  s   |  j  o t |  j  d k S(   Ni   (   R  Rm   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    c         C@  s1   | j  |  j d |  j d t d |  j |  _ d  S(   Nt
   identifiert   is_strR  (   R  R   R  R   R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    c         C@  s   d  S(   N(   RB   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   |  j  S(   N(   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  sL   |  j  j r |  j  St s& |  j  j   S|  j d  k	 r< |  j S|  j  j d  S(   Ns	   iso8859-1(   R   t
   is_unicodeR"   R  R  RB   R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    N(   RH   RI   R   R}   R   Rn  RB   R  R  R   R   R  R.  R  R  R   R   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  w  s   							t   IdentifierStringNodec           B@  s   e  Z e Z RS(    (   RH   RI   R   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   t   ImagNodec           B@  sV   e  Z e j Z d    Z d   Z d   Z d   Z d   Z	 d Z
 d   Z d   Z RS(   c         C@  s   t  d t |  j   |  _ d  S(   Ng        (   t   complexRe   R   Rd   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  d t |  j   S(   Ng        (   R  Re   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   |  j  j |  |  S(   N(   R}   t   create_declaration_utility_code(   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_    s    c         C@  s_   |  j  | k r |  St |  j d |  j } | j rL d | _ t j | _  n  t j	 | | |  S(   NR   i   (
   R}   R  Rf   R   RX   R   R   t   complex_typeR{  R.  (   RF   RC  RZ   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.    s    		s   Constructing complex numberc         C@  s7   |  j  j r |  j   Sd |  j  j t |  j  f Sd  S(   Ns	   %s(0, %r)(   R}   RX   R   t
   from_partsRe   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    
c         C@  sd   |  j  j r` | j d |  j   t |  j  | j |  j   |  j  f  | j |  j	    n  d  S(   Ns'   %s = PyComplex_FromDoubles(0.0, %r); %s(
   R}   RX   R   R   Re   R   R   Rf   t
   put_gotrefR   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    	 (   RH   RI   R   t   c_double_complex_typeR}   R   R   R   R_  R.  t   gil_messageR   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   							t   NewExprNodec           B@  s;   e  Z d Z d    Z d   Z d   Z d   Z d   Z RS(   c         C@  s   |  j  j |  } | d  k s( | j rE t |  j d  t |  _ d  S|  j |  | j	 |  j  } | |  _
 | |  _ | j |  _ |  j S(   Ns/   new operator can only be applied to a C++ class(   t   cppclassR   RB   R=  R   Rf   R(   R}   t	   cpp_checkt   get_constructort
   class_typeR   (   RF   RZ   R}   t   constructor(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk      s    			c         C@  s#   |  j  d  k r |  j |  n  |  S(   N(   R}   RB   Rk   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_    s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    c         C@  s   d |  j  j   S(   Ns   new (   R  t   empty_declaration_code(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    N(	   RH   RI   RB   R}   Rk   R   R_  R	  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   				R-  c           B@  s  e  Z e Z e Z d$ Z e Z d  Z	 d$ Z
 d$ Z e Z e Z e Z e Z d$ Z d   Z d   Z d   Z d   Z d   Z d   Z e d  Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d Z  e d  Z! d   Z" d   Z# d   Z$ d   Z% d   Z& d   Z' d   Z( d   Z) d   Z* d   Z+ d   Z, d   Z- d   Z. e d$ d$ d  Z/ d    Z0 d!   Z1 e d"  Z2 d#   Z3 RS(%   i    c         C@  s   |  j  S(   N(   t   cython_attribute(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR`  4  s    c         C@  sT   |  j  d  k r' | j |  j  |  _  n  |  j  d  k	 rL |  j  j j rL |  f Sd Sd  S(   N(    (   R   RB   R  RY   R}   t   is_unspecified(   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   7  s
    c         C@  s  |  j  d  k r' | j |  j  |  _  n  |  j  d  k sH |  j  j t k rb |  j d  k	 r^ |  j St S|  j  j j s |  j  j j	 r |  j |  j  j j k r t
 S|  j  j j r |  j  j j r t St j |  j  j  SnD |  j  j j r|  j r|  j j o|  j  j s|  j Sn  |  j  j Sd  S(   N(   R   RB   R  RY   R}   R)   t   inferred_typeR   R  R  R   R   t   scopet   is_builtin_scopeR   t   CPtrTypeRX   R8  t   might_overflow(   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   ?  s"    !
c         C@  sC   y | j  |  j  SWn( t k
 r> t |  j d |  j  n Xd  S(   Ns"   Compile-time name '%s' not defined(   R  RY   t   KeyErrorR   Rf   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   [  s    c         C@  s'   |  j  s |  j  j j r d  S|  j  j S(   N(   R   R}   RX   RB   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   a  s    c         C@  s   | t  k r |  j } | r | j r | j } | r | j r` | j r` | j | j |  j  } n  t	 |  j d |  j } | | _ | j
 |  | Sq n  t t	 |   j | |  S(   NRY   (   R   R   R   t   as_variablet
   is_builtinR#  t   declare_builtinRY   Rf   R-  t   analyse_rvalue_entryRC   R.  (   RF   RC  RZ   R   t	   var_entryRh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  f  s    			
c         C@  s   | j  d s d S| j s# | j r' d S|  j } |  j sN | j |  d k	 rR d S|  j } | j rm d } n t	 | |  \ } } | d k r | r | j  d t
 k r t n t } n  | j | | |  j d | |  _ | |  j _ d S(   sV  Implements PEP 526 annotation typing in a fairly relaxed way.

        Annotations are ignored for global variables, Python class attributes and already declared variables.
        String literals are allowed and ignored.
        The ambiguous Python types 'int' and 'long' are ignored and the 'cython.int' form must be used instead.
        t   annotation_typingNt   infer_typest   is_cdef(   RR   t   is_module_scopet   is_py_class_scopeRY   R   t   lookup_hereRB   Rj  Rn  R%   R   R)   R   t   declare_varRf   (   RF   RZ   t	   as_targetRY   Rj  t   atypet   _(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   declare_from_annotationy  s    				("c         C@  s>   |  j  } | s$ | j |  j  } n  | r: | j r: | j Sd  S(   N(   R   R  RY   t	   as_moduleRB   (   RF   RZ   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	c         C@  s|   |  j  r t j |  j   } n t j |  j  } | r: | S|  j } | s^ | j |  j  } n  | rt | j rt | j Sd  Sd  S(   N(	   R  R   R  RY   R   R  t   is_typeR}   RB   (   RF   RZ   R}   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    		c         C@  sY   |  j  } | s$ | j |  j  } n  | rU | j rU | j j sK | j j rU | j Sn  d  S(   N(   R   R  RY   R  R}   R  R  RB   (   RF   RZ   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	
c         C@  s   |  j  s! | j |  j  |  _  n  |  j  rP |  j d  k	 rP |  j | d t n  |  j  s | j d r t |  j	 d |  j d  n  | j d t
 k r t } n t } | j |  j | |  j	  |  _  n  |  j  j r t |  _ n  |  j  j r d |  j  _ n  d  S(   NR  s   warn.undeclareds   implicit declaration of '%s'i   R  (   R   R  RY   Rj  RB   R  R   RR   R   Rf   R   R)   R   R  t   is_declared_genericR   R  t   is_variable(   RF   RZ   R}   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    			!c         C@  s   | j  d |  _ |  j } | d  k r | j |  j  } | s| | j |  j |  j  } | r| | j r| | j	 r| t
 |  _ q| n  | s t j |  _ |  S| |  _ n  d | _ | j j r d d l m } | j |  n  |  j |  |  S(   Nt   initializedchecki   (   t   Buffer(   RR   t   initialized_checkR   RB   R  RY   R  Rf   R  R#  R   R   R   R(   R}   R*  t	   is_bufferR  R  t   used_buffer_aux_varsR  (   RF   RZ   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s$    		c         C@  s2  |  j  | d t |  j } | j r{ | j r{ | j sY | j j sY |  j   r{ | j r{ | j } |  _ | j |  _ q{ n  |  j j	 r t
 |  j d |  j  n  |  j j r t
 |  j d |  j  n  |  j   s t
 |  j d |  j  t j |  _ n  d | _ | j j r.d d l m } | j |  n  |  S(   NRu  s   Assignment to const '%s's   Assignment to reference '%s's   Assignment to non-lvalue '%s'i   (   R  (   t   analyse_entryR   R   R   R  t   is_overridableR}   R   t   fused_cfunctionR#  R   Rf   RY   R!  R   R(   R*  R  R  R  R  (   RF   RZ   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s$    	+	c         C@  s   |  j  |  |  j } | j r+ t |  _ n  | j s= | j rp | j r[ | j r[ d |  _ n	 d |  _ d |  _	 n* | j
 j r t |  _ t |  _	 t |  _ n  |  S(   Ni    i   (   R  R   R  R   R   t   is_pyglobalR  R#  R   t   is_used_as_rvalueR}   R   R   R   R   (   RF   RZ   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    					c         C@  sZ   t  |  _ |  j rV |  j } | j r= | j sS |  j   qS qV | j rV |  j   qV n  d  S(   N(   R   R   R  R   R  R#  R   R  (   RF   RZ   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    						s"   Accessing Python global or builtinc         C@  sZ   |  j    |  j } | j } | rM | j rM |  j rM |  j j rM |  j } n  | |  _ d  S(   N(   t   check_identifier_kindR   R}   RX   R  R  (   RF   RZ   Ru  R   R}   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    
		c         C@  s   |  j  } | j r* | j j r* | |  _ n  | j r{ | j j r{ t j |  j d  t
  } t | _ |  j  j | _ | |  _  nq | j p | j p | j p | j p | j s |  j  j r |  j  j |  _  q |  j s t |  j d |  j  q n  d  S(   Ns7   '%s' is not a constant, variable or function identifier(   R   R  R}   R  t
   type_entryRS  R   t   EntryRY   RB   R   R   R  R  R#  R  R  R   R=  R  t   is_cython_moduleR   Rf   (   RF   R   t   py_entry(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s    				c         C@  sB   |  j  s |  j r t S|  j p. | j |  j  } | j oA | j S(   N(   R"  R  R   R   R  RY   R  R  (   RF   RZ   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt"   is_cimported_module_without_shadow:  s    c         C@  s   d S(   Ni   (    (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^  @  s    c         C@  s   |  j  r |  j r |  j j s* |  j j r t |  d t  r@ t St |  _ t } x* |  j  D] } | j j	   rY t } PqY qY W|  ` | St
 t |   j	   S(   Nt   _none_checking(   Rl   R}   RX   R   R   R   R   R%  Rn   R_  RC   R-  (   RF   R_  t
   assignment(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  D  s    	c         C@  sR   t  j |   r t S|  j } | s, | j r0 t S| j pQ | j pQ | j pQ | j	 S(   N(
   R   R   R   R   t
   in_closureR   t   is_localt   is_argR  t   is_readonly(   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   Y  s    	c         C@  s   d  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   calculate_target_resultsa  s    c         C@  sO   |  j  } | d  k	 rK | j p9 | j p9 | j p9 | j j rK |  j   t St S(   N(	   R   RB   R#  R   R  R}   R   R   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   d  s    				
c         C@  s6   |  j  } | j p! | j p! | j s2 |  j   t St S(   N(   R   t
   is_cglobalR   R  R   R   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   o  s
    	
c         C@  s/   |  j  j r |  j  j p. |  j  j o. |  j  j S(   N(   R   R  R*  R   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   v  s    c         C@  s   |  j  j o |  j j S(   N(   R   R  R}   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   d S(   Ni    (    (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   |  j  } | s d S| j S(   Ns   <error>(   R   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	c         C@  s  t  |  d  s t  |  j } | d  k r. d  S| j rM | j j | j  n  | j rc | j rc d  S| j	 r| j
 j s t d   | j |  j j  } | j r t j } n | j j } |  j s
| j d |  j   | | f  | j d |  j    | j d  n  | j j t j d d   | j d |  j   | f  |  j s\| j d	  n  | j | j |  j   |  j   | j |  j    no| j r>| j j r>| j
 j st d   | j |  j j  } | j j t j d
 d   | j d |  j   | | j |  j   |  j  f  | j |  j    n| j s\| j rY| j j rY| j
 j stt d   | j |  j j  } | j j r| j j t j d d   | j d |  j   | | j |  j   |  j  f  nZ | j j t j d d   | j d |  j   | j j | | j |  j   |  j  f  | j |  j    n | j s| j s| j s| j
 j  r|  j! s|  j o|  j" } | j
 j# | j$  } | j
 j  o|  j% } | r| r| j
 j s| r| j& |  j | |  j'  qn  d  S(   NR   s,   Python global or builtin not a Python objects   %s = PyObject_GetItem(%s, %s);s   if (unlikely(!%s)) {s   PyErr_Clear();t   GetModuleGlobalNames   ObjectHandling.cs"   __Pyx_GetModuleGlobalName(%s, %s);R   t   GetBuiltinNames!   %s = __Pyx_GetBuiltinName(%s); %ss%   __Pyx_GetModuleGlobalName(%s, %s); %st   GetNameInClasss$   __Pyx_GetNameInClass(%s, %s, %s); %s((   R   R   R   RB   t   utility_codet   globalstatet   use_utility_codeR  R#  t   is_pyclass_attrR}   RX   t   intern_identifierRY   R   t   builtins_cnameR  t   namespace_cnamet
   cf_is_nullR   R   R   t   load_cachedR   Rf   R  R   R	  R  R(  R'  t   from_closureR   t   cf_maybe_nullt
   allow_nullt   check_for_null_codeR   R  t   put_error_if_unboundR  (   RF   R   R   t   interned_cnamet	   namespacet   raise_unboundt	   null_codet   memslice_check(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    									"		 		#			 'c         C@  s  |  j  } | d  k r d  S|  j  j j r^ t | t  r^ |  j r^ | j r^ t |  j	 d  n  | j
 r| j j s t d   | j |  j  j  } |  j  j j } | j r d }	 d | } nd | j j r d }	 t j } nF | j r| j j t j d d   d }	 n t s#t t |    | j |  j	 d |	 | | | j   f  t rcd	 GHd
 | GHn  | j |  | j  |  | j r| j! d | j j" j#  qn|  j j$ r|  j% | |  n |  j j& r|  j' | |  n  t }
 |  j j r5|  j( r5| j) |  | j* p*|  j  j+ p*|  j  j, } | rt|  j- st|  j. r[| j/ |  j    qq| j0 |  j    qtn  t1 }
 | j* r| j2 |  j3   | j4 |  j5     nh |  j- s|  j. r| j6 |  j3   | j4 |  j5     q| j2 |  j3   | j4 |  j5     n t }
 | r2| j7 | j    q2q5n  |  j j$ sx|
 sQ| r| j3   } | d k rt8 | |  j	 d |  j3   | f |  j j r|  j3   n d  | |  j9  qN| j! d |  j3   | f  qQ| j4 |  j5    } t: |  j  r| j! d |  j3   |  j3   | f  qQ| |  j3   k rQ| j! d |  j3   | f  qQn  t rhd	 GHd | GHn  | j; |  n | j<   r| j; |  n  | j  |  d  S(   Ns?   Literal list must be assigned to pointer at time of declarations,   Python global or builtin not a Python objectt   PyDict_SetItems   %s->tp_dictt   SetNameInClasss   ObjectHandling.ct   __Pyx_SetNameInClasss   %s(%s, %s, %s)s"   NameNode.generate_assignment_code:s"   ...generating disposal code for %ss   PyType_Modified(%s);t   +s   %s = %s;s   new (&%s) decltype(%s){%s};s)   ...generating post-assignment code for %s(=   R   RB   R}   R&  Rc   t   ListNodet   lhs_of_first_assignmentt   in_module_scopeR   Rf   R  RX   R   R4  RY   R  R6  t	   is_memberR	  R   t   moddict_cnameR3  R1  R2  R   R8  R   R  R  R   R   R  R  R   t   parent_typet   typeptr_cnameR   t    generate_acquire_memoryviewsliceR  t   generate_acquire_bufferR   R  R,  R'  R9  R7  R:  t   put_xgotrefR  R   t   put_decref_setR   R   R   t   put_xdecref_sett   put_giverefR   R  R2   R  R   (   RF   Rn   R   R  R  R   R   R>  R?  t   settert   assignedt   is_external_refR   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    								!			"		""	 )#c         C@  s[   d d l  m } | j d |  j   d |  j d |  j d | d | d |  j d	 |  j  d
 S(   s   
        Slices, coercions from objects, return values etc are new references.
        We have a borrowed reference in case of dst = src
        i   (   R  t	   lhs_cnameR   t   lhs_posRn   R   R  t   first_assignmentN(   R  R  t   put_acquire_memoryviewsliceR   R}   Rf   R  R7  (   RF   Rn   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRN  V	  s    			
c      
   C@  s   t  | t  p | j } | r6 | j |  j    } nD | j j |  j j d t	 } | j
 d | | j |  j    f  d d l m } | j |  j   | |  j d |  j d |  j d | | s | j
 d |  | j j |  n  d  S(	   NR   s   %s = %s;i   (   R  t   is_initializedRf   R   s   %s = 0;(   Rc   R-  R   R   R   R   R   R   R}   R   R   R  R  t   put_assign_to_bufferR   RH  Rf   R   (   RF   Rn   R   t
   pretty_rhst   rhstmpR  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRO  f	  s    &
c         C@  sa  |  j  d  k r d  S|  j  j r |  j  j j } | j |  j  j  } | rR d } n d |  j  j } | j d | | | | j |  j	  f  n|  j  j
 r | j j t j d d   | j |  j  j  } d t j | f } | r
| j d | | j |  j	  f  q]| j |  j	 |  n=|  j  j j s>|  j  j j rM|  j s]|  j rp| rp| j |  j	 |  j   n  |  j  j j r*|  j  j r| r|  j r| j |  j    q| j |  j    n  | r|  j r| j |  j   |  j    n | j |  j   |  j    | j d |  j    qJ| j |  j  j  d	 |  j! q]n t" |  j	 d
  d  S(   Ns   PyErr_Clear(); elsesT   { PyErr_Clear(); PyErr_Format(PyExc_NameError, "name '%%s' is not defined", "%s"); }si   if (unlikely(PyObject_DelItem(%s, %s) < 0)) { if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) %s %s }t   PyObjectSetAttrStrs   ObjectHandling.cs!   __Pyx_PyObject_DelAttrStr(%s, %s)sj   if (unlikely(%s < 0)) { if (likely(PyErr_ExceptionMatches(PyExc_AttributeError))) PyErr_Clear(); else %s }s
   %s = NULL;R  s!   Deletion of C names not supported(#   R   RB   R3  R  R6  R4  RY   R   R   Rf   R  R1  R2  R   R8  R   t   module_cnameR  R}   RX   R   R7  R:  R=  R'  RP  R   R  t   put_xdecrefR   t
   put_decrefR  R   R   R   (   RF   R   R  R?  R>  t   key_error_codet   del_code(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  z	  sR    			c         C@  s   t  |  d  r |  j r |  j d |  j d |  j d t |  j  d f } |  j j rh d
 \ } } n d \ } } | j | t | | |  j d	 t |  j   n  d  S(   Nt	   is_calledi    i   i   t   py_calls   python function (%s)t   c_calls   c function (%s)t   size(   Rf  s   python function (%s)(   Rg  s   c function (%s)(	   R   Re  Rf   Rm   RY   R}   RX   R  R,   (   RF   R   Rf   t   stylet   text(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  	  s    5N(4   RH   RI   R   t   is_nameR   R"  RB   R  RH  R  R   R   R:  R7  R;  R   R  R`  R   Rk   R   R   R.  R  R   R   R   R   R   R   R  R   R  R  R  R$  R^  R_  R   R+  R   R   R   R   R   R   R	  R  RN  RO  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR-    s`   							
							
														Su		8t   BackquoteNodec           B@  s8   e  Z e Z d  g Z d   Z d Z d   Z d   Z RS(   t   argc         C@  s7   |  j  j |  |  _  |  j  j |  |  _  d |  _ |  S(   Ni   (   Rm  R   RN  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   	  s    	s   Backquote expressionc         C@  s   t  |  j j  |  _ d  S(   N(   R  Rm  Rd   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   	  s    c         C@  sU   | j  d |  j   |  j j   | j |  j   |  j  f  | j |  j    d  S(   Ns   %s = PyObject_Repr(%s); %s(   R   R   Rm  R   R   Rf   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  	  s    	 (	   RH   RI   R   R}   R   R   R  R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRl  	  s   			t
   ImportNodec           B@  s2   e  Z e Z d  d g Z d   Z d Z d   Z RS(   t   module_namet	   name_listc         C@  s   |  j  d  k rO | j d s7 t j | j   j j k rC d |  _  qO d |  _  n  |  j j	 |  } | j
 |  |  _ |  j r |  j j	 |  } | j
 |  |  _ n  d |  _ |  S(   Nt
   py2_importii    i   (   Rb   RB   RR   R-   R    R  t   contextt   future_directivesRo  R   RN  Rp  R   (   RF   RZ   Ro  Rp  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   	  s    		s   Python importc         C@  s  |  j  r |  j  j   } n d } | j j t j d d   d |  j j   | |  j f } |  j d k r |  j j r |  j j	 t
 k r t
 |  j j	 \ } } } | j j t j | |   d | | f } n  | j d |  j   | | j |  j   |  j  f  | j |  j    d  S(   NR  t   Imports   ImportExport.cs   __Pyx_Import(%s, %s, %d)i    s   %s(%s)s   %s = %s; %s(   Rp  R   R1  R2  R   R8  Ro  Rb   Rn  R   R$   R   R   R   Rf   R  (   RF   R   t   name_list_codet   import_codet   helper_funct	   code_namet	   code_file(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  	  s&    			 (   RH   RI   R   R}   R   R   R  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRn  	  s
   	t   IteratorNodec           B@  s   e  Z e Z d Z d Z d Z e Z	 e Z
 d  g Z d   Z d Z e j e j e j e j d e j d  g   Z d   Z d   Z d   Z d   Z d   Z d	   Z d
   Z RS(   t   sequencec         C@  s   |  j  j |  |  _  |  j  j j s3 |  j  j j rU |  j  j j rU |  j  j |  _ nd |  j  j j rt |  j |  nE |  j  j |  |  _  |  j  j t	 t
 f k r |  j  j d  |  _  n  d |  _ |  S(   Ns!   'NoneType' object is not iterablei   (   R{  R   R}   R   R&  R
  R=  t   analyse_cpp_typesRN  R   R   Rd  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   (
  s    	s   Iterating over Python objectt   itc         C@  s   |  j  j |  S(   N(   R{  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   >
  s    c         C@  sm   |  j  j |  } | j s$ | j r( | S| j r\ | j j d  } | d  k	 ri | j j	 Sn | j
 ri | St S(   Nt   begin(   R{  Rk   R   R&  R=  R  R  RB   R}   t   return_typeRX   R   (   RF   RZ   t   sequence_typeR~  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   A
  s    		c         C@  sD  |  j  j } | j r! | j } n  | j j d  } | j j d  } | d  k sj | j j sj | j j r t	 |  j
 d |  j  j  t |  _ d  S| d  k s | j j s | j j r t	 |  j
 d |  j  j  t |  _ d  S| j j } | j r| j |  j
 d | | j j g  d  k rCt	 |  j
 d |  j  j  t |  _ d  S| j |  j
 d | g  d  k rt	 |  j
 d |  j  j  t |  _ d  S| j |  j
 d	 | g  d  k rt	 |  j
 d
 |  j  j  t |  _ d  S| |  _ na | j r| | j j k st	 |  j
 d  n  | |  _ n' t	 |  j
 d |  j  j  t |  _ d  Sd  S(   NR~  t   ends   missing begin() on %ss   missing end() on %ss   !=s-   missing operator!= on result of begin() on %ss   ++s-   missing operator++ on result of begin() on %sR   s,   missing operator* on result of begin() on %ss(   incompatible types for begin() and end()s;   result type of begin() on %s must be a C++ class or pointer(   R{  R}   R&  R'  R  R  RB   R   Rq   R   Rf   R(   R  R=  t   lookup_operator_for_types(   RF   RZ   R  R~  R  t	   iter_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR|  M
  sT    					!	!			c         C@  s  |  j  j } | j r |  j  j r7 d |  j  j   } nZ t j |  } | j j | d t	 |  _
 | j d |  j
 |  j  j   f  d |  j
 } | j d |  j   | f  d  S| j s | j r t d   n  | t t f k } | s|  j st d   n  | j |  _ |  j rF| j d |  j  j   |  j  j   f  n  | sU|  j r| j j t j d t	 |  _ |  j r| t k rd	 |  j   } qd
 |  j   } n d } | j d |  j   |  j  j   |  j   |  j | f  n  | s| j j |  j d t	 |  _ |  j rT| j d |  j  | j d  | j d |  j  n  | j d |  j   |  j  j   | j |  j   |  j  f  | j |  j    | j d |  j |  j   | j |  j |  j  f  n  |  j r| j d  n  d  S(   Ns   %s.beginR   s	   %s = &%s;s	   %s->begins
   %s = %s();s#   for in carray slice not transformedsB   internal error: reversed() only implemented for list/tuple objectss>   if (likely(PyList_CheckExact(%s)) || PyTuple_CheckExact(%s)) {s   PyList_GET_SIZE(%s) - 1s   PyTuple_GET_SIZE(%s) - 1R  s#   %s = %s; __Pyx_INCREF(%s); %s = %s;s
   %s = NULL;s   } else {s	   %s = -1; s   %s = PyObject_GetIter(%s); %ss!   %s = Py_TYPE(%s)->tp_iternext; %sR   (   R{  R}   R=  Rk  R   R   t
   c_ptr_typeR   R   R   t   cpp_iterator_cnameR   R   R&  R   R   R   t   reversedR   R  t   may_be_a_sequenceR   R   t   counter_cnamet   _func_iternext_typet   iter_func_ptrt   putR   Rf   R  (   RF   R   R  t
   begin_funct   is_builtin_sequencet
   init_value(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  z
  sf    	#									 	 	c         C@  s  |  j  s t d   d | |  j   f } |  j j r t |  j j  } |  j j d  k rd | } q t	 |  j j j
 t  r | |  j j j
 } q n  | j d |  j  | f  |  j r d } n d } | j d  | j d | | |  j   |  j  | |  j  | | j d |  j  f  | j d	  | j d
 | |  j   |  j  |  j  | | j | |  j  f  | j |  | j d  d  S(   Ns/   internal error: counter_cname temp not prepareds   Py%s_GET_SIZE(%s)s   if (%s >= %s) break;s   --s   ++s<   #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFSs6   %s = Py%s_GET_ITEM(%s, %s); __Pyx_INCREF(%s); %s%s; %sR  s   #elses&   %s = PySequence_ITEM(%s, %s); %s%s; %ss   #endif(   R  R   R   R{  Rj   Rm   Rq   R   RB   Rc   Rd   R!   R   R  t   error_goto_if_negRf   R   R  (   RF   t	   test_namet   result_nameR   t
   final_sizet
   item_countt   inc_dec(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_next_sequence_item
  sD    					c         C@  sJ  |  j  j } |  j r, | j d |  j  n  | j r |  j rN d |  j } n d |  j  j   } | j d |  j   | f  | j d | |  j   f  | j d |  j    d  S| t k r |  j	 d | |  d  S| t
 k r |  j	 d | |  d  S|  j r| j d	 |  j  | j d
 |  j    |  j	 d | |  | j d  |  j	 d | |  | j d  | j d  n  | j d  | j d | |  j |  j   f  | j d |  | j d  | j d  | j d  | j d | j |  j   | j d  | j d  | j d  | j |  | j d  d  S(   Ns   if (%s < 0) break;s   %s->ends   %s.ends   if (!(%s != %s())) break;s	   %s = *%s;s   ++%s;t   Listt   Tuples   if (likely(!%s)) {s$   if (likely(PyList_CheckExact(%s))) {s   } else {R   s   } else t   {s   %s = %s(%s);s   if (unlikely(!%s)) {s&   PyObject* exc_type = PyErr_Occurred();s   if (exc_type) {s\   if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();s   else %ss   break;(   R{  R}   R  R   R  R=  R  R   R   R  R   R  R  R   R  R   Rf   R  (   RF   R  R   R  t   end_func(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_iter_next_result_code
  sZ    							c         C@  sz   |  j  r | j j |  j   n  |  j rG | j j |  j  d  |  _ n  |  j rf | j j |  j  n  t j |  |  d  S(   N(   R  R   R   R  RB   R  R   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    			N(   RH   RI   R   R}   RB   R  R  R  R   R  t   is_asyncR   R   R  R   R  t	   CFuncTypet   CFuncTypeArgR  R   Rk   R|  R	  R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRz  
  s&   		!			-	B	'	3t   NextNodec           B@  sA   e  Z d    Z d   Z d   Z d d  Z d   Z d   Z RS(   c         C@  s    t  j |  | j  | |  _ d  S(   N(   R{  R  Rf   t   iterator(   RF   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  )  s    c         C@  s   d  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   -  s    c         C@  s   |  j  j |  S(   N(   R  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   1  s    c         C@  s   | d  k r! |  j j |  } n  | j s3 | j r: | j S| j r | j |  j d | g  j	 j
 } | j ry | j } n  | j r | j } n  | St |  j d |  j j d t |  j d d d t j } | j |  Sd  S(   NR   R   R   R   t   PY_SSIZE_T_MAXR}   (   RB   R  Rk   R&  R   R'  R=  R  Rf   R}   R  R!  R"  R#  R$  R   R{  R   R   R   (   RF   RZ   t   iterator_typet	   item_typet   fake_index_node(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   4  s"    	!			c         C@  s(   |  j  | |  j j  |  _ d |  _ |  S(   Ni   (   Rk   R  R}   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   I  s    	c         C@  s   |  j  j |  j   |  d  S(   N(   R  R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  N  s    N(	   RH   RI   R  R   R   RB   Rk   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  !  s   				t   AsyncIteratorNodec           B@  s>   e  Z d  g Z e Z e Z d Z d   Z d   Z	 d   Z
 RS(   R{  i   c         C@  s   t  S(   N(   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   _  s    c         C@  sP   |  j  j |  |  _  |  j  j j sL t |  j d  |  j  j |  |  _  n  |  S(   Ns*   async for loops not allowed on C/C++ types(   R{  R   R}   RX   R   Rf   RN  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   b  s
    c         C@  sq   | j  j t j d d   | j d |  j   |  j j   | j |  j   |  j	  f  | j
 |  j    d  S(   Nt	   AsyncIters   Coroutine.cs)   %s = __Pyx_Coroutine_GetAsyncIter(%s); %s(   R1  R2  R   R8  R   R   R{  R   R   Rf   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  i  s    		 (   RH   RI   R   R   R  R   R}   R   Rk   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  R  s   			t   AsyncNextNodec           B@  s8   e  Z e Z d  Z d   Z d   Z d   Z d   Z RS(   i   c         C@  s    t  j |  | j  | |  _ d  S(   N(   R{  R  Rf   R  (   RF   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  }  s    c         C@  s   t  S(   N(   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk     s    c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  sq   | j  j t j d d   | j d |  j   |  j j   | j |  j   |  j	  f  | j
 |  j    d  S(   NR  s   Coroutine.cs*   %s = __Pyx_Coroutine_AsyncIterNext(%s); %s(   R1  R2  R   R8  R   R   R  R   R   Rf   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    		 (	   RH   RI   R   R}   R   R  Rk   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  r  s   			t   WithExitCallNodec           B@  s2   e  Z d  d g Z e Z d Z d   Z d   Z RS(   Rq   t
   await_exprc         C@  sO   |  j  j |  |  _  |  j r6 |  j j |  |  _ n  t j |  _ t |  _ |  S(   N(   Rq   R   R  R   R  R}   R   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    		c         C@  s  |  j  r# | j d |  j j  n  |  j j |  | j j t d t	 } | j
 |  j  | j j t j d d   | j d | |  j j |  j j   f  | j |  j j d t |  j j |  |  j j |  | j | j | |  j   | j |  |  j rj|  j j | d | d t | j d	 | |  j j   f  |  j j |  |  j j |  n  |  j r|  j |  | j d
 |  j   | f  n  | j | d t |  j r| j |  j |  j    n  | j j |  |  j  r| j d  n  d  S(   Ns	   if (%s) {R   t   PyObjectCalls   ObjectHandling.cs'   %s = __Pyx_PyObject_Call(%s, %s, NULL);R}   t   source_cnamet   decref_sources   %s = %s;s   %s = __Pyx_PyObject_IsTrue(%s);R   (   t   test_if_runR   t	   with_statt   exit_varRq   R  R   R   R   R   R  Rf   R1  R2  R   R8  R   R  R  R  R   R  R  R   R   R  R   R   R  R   (   RF   R   t
   result_var(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s<    				 	 		N(	   RH   RI   R   R   R  RB   R  R   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s
   	t   ExcValueNodec           B@  s;   e  Z e Z d    Z d   Z d   Z d   Z d   Z RS(   c         C@  s   t  j |  |  d  S(   N(   R   R  (   RF   Rf   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    c         C@  s   | |  _  d  S(   N(   t   var(   RF   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   set_var  s    c         C@  s   |  j  S(   N(   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    (	   RH   RI   R   R}   R  R  R   R	  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   				t   TempNodec           B@  sb   e  Z g  Z d	 d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z RS(
   c         C@  s;   t  j |  |  | |  _ | j r. t |  _ n  d |  _ d  S(   Ni   (   R   R  R}   RX   R   R   R   (   RF   Rf   R}   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s
    		c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   d  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    c         C@  s"   | j  j |  j d t |  _ d  S(   NR   (   R   R   R}   R   t
   temp_cname(   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   allocate  s    c         C@  s    | j  j |  j  d  |  _ d  S(   N(   R   R   R  RB   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   release  s    c         C@  s.   y |  j  SWn t s# t d     n Xd  S(   Ns-   Remember to call allocate/release on TempNode(   R  R   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s
    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    N(   RH   RI   R   RB   R  R   R   R	  R  R  R   R   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   								t
   PyTempNodec           B@  s   e  Z d    Z RS(   c         C@  s   t  j |  | t j |  d  S(   N(   R  R  R   R   (   RF   Rf   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    (   RH   RI   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   t   RawCNameExprNodec           B@  sA   e  Z g  Z d d d   Z d   Z d   Z d   Z d   Z RS(   c         C@  s2   t  j |  | d | | d  k	 r. | |  _ n  d  S(   NR}   (   R   R  RB   R   (   RF   Rf   R}   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   !  s    c         C@  s   | |  _  d  S(   N(   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt	   set_cname$  s    c         C@  s   |  j  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   '  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  *  s    N(	   RH   RI   R   RB   R  R   R  R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   			t   JoinedStrNodec           B@  s8   e  Z e Z e Z d  g Z d   Z d   Z d   Z	 RS(   t   valuesc         C@  s5   g  |  j  D] } | j |  j |  ^ q
 |  _  |  S(   N(   R  R   RN  (   RF   RZ   t   v(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   ?  s    1c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  C  s    c      
   C@  s  | j  |  j  t |  j  } | j j t d t } | j j t j	 d t
 } | j j t j d t
 } | j d | | | j | |  j  f  | j |  | j d |  | j d |  xt |  j  D]\ } } | j |  | j |  d | j   } d | j   }	 t
 }
 t | t  ry0 | j j d  d }	 | j j d	  t }
 Wn t k
 r|	 d k rt t t | j   } | d
 k  rd }	 t t | j   } q| d k rd }	 t t | j   } qqq.Xt t | j   } n' t | t  r.| j j j r.t }
 n  |
 sW| j d | |	 | |	 | f  n  | j d | | f  | j | j    | j d | | | j   f  | j  |  | j! |  q W| j  |  j  |  j" |  | j# j$ t% j& d d   | j d |  j'   | | | | | j |  j   |  j  f  | j |  j    | j( | t  | j j) |  | j j) |  | j j) |  d  S(   NR   s   %s = PyTuple_New(%s); %ss   %s = 0;s	   %s = 127;s   __Pyx_PyUnicode_GET_LENGTH(%s)s"   __Pyx_PyUnicode_MAX_CHAR_VALUE(%s)s	   iso8859-1t   255s   us-asciii   t   65535i   t   1114111s   %s = (%s > %s) ? %s : %s;s	   %s += %s;s   PyTuple_SET_ITEM(%s, %s, %s);t   JoinPyUnicodes   StringTools.cs-   %s = __Pyx_PyUnicode_Join(%s, %d, %s, %s); %s(*   R  Rf   Rm   R  R   R   R   R   R   R   R   t   c_py_ucs4_typeR   R   R  t	   enumerateR  R  R   Rc   R  R   t   encodet   UnicodeEncodeErrort   maxt   mapR  R^   t   FormattedValueNodeR}   R  RS  R  R  R   R1  R2  R   R8  R   R  R   (   RF   R   t	   num_itemst   list_vart   ulength_vart   max_char_vart   iRh   t   ulengtht   max_char_valuet   is_asciit   max_char(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  G  sx    	
		 		 (
   RH   RI   R   R}   R   R   R   R   R_  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  5  s   			R  c           B@  s_   e  Z d  d g Z e Z e Z d Z i d d 6d d 6d d 6j	 Z
 d   Z d	   Z d
   Z RS(   R   t   format_spect   PyObject_Unicodet   st   PyObject_Reprt   rt   PyObject_ASCIIt   ac         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_    s    c         C@  s  |  j  j |  |  _  |  j s+ |  j j ry |  j r@ |  j j  n |  j  j j } |  j  j j | d | ry | |  _ qy n  |  j r |  j j |  j |  |  _ n  |  j d  k r|  j  j |  |  _  |  j r|  j
 s |  j
 d k r|  j  j t k r|  j  j   r|  j  Sqn  |  S(   NR  R  (   R   R   R  Rn  R}   t   default_format_spect   can_coerce_to_pystringt   c_format_specRN  RB   t   conversion_charR   R_  (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    $	!#"c   	   	   C@  s  |  j  d  k	 r |  j j j r |  j j j |  j j   | |  j   } | j d |  j   | | j |  j   |  j	  f  | j
 |  j    d  S|  j j   } |  j j t k o |  j j   } |  j r d } |  j j   } n d } t j } |  j } | d k r| rd  } n  | r|  j |  } | d  k	 sHt d |   d | | f } | j j t j d d   | d	 7} nD |  j r| j j t j d
 d   n | j j t j d d   | j d |  j   | | | | j |  j   |  j	  f  | j
 |  j    d  S(   Ns   %s = %s; %st   __Pyx_PyObject_Formatt   __Pyx_PyObject_FormatSimpleR  s(   invalid conversion character found: '%s's   %s(%s)t   PyObjectFormatAndDecrefs   StringTools.ct	   AndDecreft   PyObjectFormatt   PyObjectFormatSimples   %s = %s(%s, %s); %s(   R  RB   R   R}   RX   t   convert_to_pystringR   R   R   Rf   R  R   R   R_  R  R   t   empty_unicodeR  t   find_conversion_funcR   R1  R2  R   R8  (	   RF   R   t   convert_func_callt   value_resultt   value_is_unicodet   format_funcR  R  t   fn(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    sL    		 "										 N(   RH   RI   R   R   R}   R   R   RB   R  RQ   R  R_  R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   		t   ParallelThreadsAvailableNodec           B@  s2   e  Z d  Z e j Z d   Z d   Z d   Z RS(   s*  
    Note: this is disabled and not a valid directive at this moment

    Implements cython.parallel.threadsavailable(). If we are called from the
    sequential part of the application, we need to call omp_get_max_threads(),
    and in the parallel part we can just call omp_get_num_threads()
    c         C@  s   t  |  _ |  S(   N(   R   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	c         C@  sg   | j  d  | j  d |  j  | j  d |  j  | j  d  | j  d |  j  | j  d  d  S(   Ns   #ifdef _OPENMPs2   if (omp_in_parallel()) %s = omp_get_max_threads();s    else %s = omp_get_num_threads();s   #elses   %s = 1;s   #endif(   R   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    	c         C@  s   |  j  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    (	   RH   RI   t   __doc__R   t
   c_int_typeR}   R   R	  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s
   				t   ParallelThreadIdNodec           B@  s2   e  Z d  Z e j Z d   Z d   Z d   Z RS(   s/   
    Implements cython.parallel.threadid()
    c         C@  s   t  |  _ |  S(   N(   R   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	c         C@  sS   | j  d  | j  d |  j  | j  d  | j  d |  j  | j  d  d  S(   Ns   #ifdef _OPENMPs   %s = omp_get_thread_num();s   #elses   %s = 0;s   #endif(   R   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s
    c         C@  s   |  j  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   &  s    (	   RH   RI   R  R   R  R}   R   R	  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s
   			t   _IndexingBaseNodec           B@  s#   e  Z d    Z d   Z d   Z RS(   c         C@  s.   |  j  j   p- |  j  j t t t t t f k S(   N(   R   R   R}   R+   R   R   R   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   6  s    c         C@  s   |  j  j   o |  j j   S(   N(   R   R   R   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   <  s    c         C@  s6   |  j  j r" |  j  j j r2 t Sn |  j  j r2 t St S(   N(   R}   R!  R"  R   R   R&  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   ?  s    (   RH   RI   R   R   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  1  s   		R   c           B@  s7  e  Z d  d g Z d Z e Z e Z d   Z	 d   Z
 d   Z d   Z d   Z d   Z d   Z d	   Z d
   Z d   Z e e e d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z e d  Z d   Z d Z d   Z d   Z d   Z  d   Z! e d d d  Z" d   Z# e d  Z$ RS(   R   R   c         C@  s   |  j  j |  j j |  _ d  S(   N(   R   Rd   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   _  s    c         C@  sW   |  j  j |  } |  j j |  } y | | SWn  t k
 rR } |  j |  n Xd  S(   N(   R   R   R   t	   ExceptionR   (   RF   R   R   R   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   b  s    c         C@  sC   |  j  } | j   oB |  j j   oB | j oB | j j pB | j j S(   N(   R   R^  R   R}   R&  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^  j  s    	c         C@  si   |  j  j } | r\ | j r t St |  j t  r\ | t t t	 t
 t t t f k rY t Sq\ n  t j |   S(   N(   R   R}   R
  R   Rc   R   t	   SliceNodeR   R   R   R   R+   R   R   R   R_  (   RF   R'  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  o  s    	
c         C@  s   d  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   {  s    c         C@  s|  |  j  j |  } | rx| j rx| j r t |  j t  rL |  j j } n |  j g } t j	 d |  j
 d | d d   } | j | d | S|  j j s |  j j r
d d l m } | j | j  |  j j r |  j g n t |  j j  } t j | | j | |   S|  j j |  } | d  k	 rey t |  } Wn t t f k
 rQqeXt j | |  Sn  t |  j
 d  n  d  S(   NRf   t   positional_argst   keyword_argsR'  i   (   R  s*   Array size must be a compile time constant(   R   R   RX   R=  Rc   R   t	   TupleNodeRq   R   t   TemplatedTypeNodeRf   RB   t   analyseR   Rj   R  R  R2  t   view_utility_codeR   R   t   MemoryViewSliceTypet   get_axes_specsR   R  Rr   Rs   t
   CArrayTypeR   (   RF   RZ   R'  t   template_valuest	   type_nodeR  t   axesR   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   ~  s2    				*c         C@  s    |  j  j |  |  j j |  S(   N(   R   R   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c   
      C@  s  |  j  j |  } |  j j ra | j r+ t S| j r8 t S| t t t t	 t
 t f k rZ | St Sn  |  j j |  } | r | j s t |  j t  r| t k r t j S| t k r | S| t	 k r t j St |  j  t  r t S| t t
 f k r#t | |  j  |  j d | } | d  k	 r| Sq| j s5| j r<| j S| j rt |  j t  r|  j j   r|  j j } | d k  r| | j 7} n  d | k o| j k  n r| j | Sqqn  | j r8d d d     Y} | d |  j d |  | d |  j d |  g } | j  d |  } | d  k	 r8| j! j" Sn  t# |  rut# |  ru|  j | f }	 t$ t% | |	 g   S| t t f k r| St Sd  S(	   NRy   i    t   FakeOperandc           B@  s   e  Z d    Z RS(   c         [@  s   |  j  j |  d  S(   N(   t   __dict__t   update(   RF   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    (   RH   RI   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   Rf   R}   s   [](    (&   R   Rk   R   R   R
  R   R  R   R   R   R   R   R   R8  Rc   R   R   R  t   c_uchar_typeR  R|   RB   R&  R   R'  RX  Rp   Rd   Rh  RY  R=  Rf   t   lookup_operatorR}   R  R2   R>   R8   (
   RF   RZ   R'  t
   index_typeR  R   R  t   operandst
   index_funct   index_with_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk     s^    		!	c         C@  s   |  j  | d t S(   Nt   getting(   t   analyse_base_and_index_typesR   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  sk   |  j  | d t } | j j r4 t |  j d  n  | |  k rg | j   rg t |  j d | j  n  | S(   Nt   settings   Assignment to const dereferences%   Assignment to non-lvalue of type '%s'(   R  R   R}   R#  R   Rf   R   (   RF   RZ   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c   	      C@  s  | r |  j  j |  |  _  n  |  j  j j r= t j |  _ |  S|  j j } | j d s | rx t	 |  j j
 |  j j  q t	 |  j  n  | r t |  j t  r t j |  j j  r |  j j |  |  _ n  |  j  j j } | rEt |  j  t  s | rE|  j  j j s*|  j  j j p&|  j  j j rE|  j  j |  |  _  qEn  |  j | |  } | d  k	 rg| S| j |  _ |  j  j } | j s|  j j |  |  _ |  j j |  _ | j r| rt |  j d d d n |  j j d k r|  j  S|  j  j |  |  _  |  j  j } qn  | j  r3|  j! | | | |  S| j sE| j rU|  j" | |  S| j# rn|  j$ | |  S| j r|  j% |  S| j& r|  j' | | |  St( |  j d |  t j |  _ |  Sd  S(	   Nt
   wraparounds%   cannot assign to Unicode string indexRb   i   i    is'   Attempting to index non-array type '%s'(   i    i()   R   R   R}   R2  R   R(   R   R   RR   Ri   R   R   Rc   R   R   t   long_literalR   RN  R   R  R
  R&  R   t   analyse_as_buffer_operationRB   R   R   t   original_index_typeR  R   Rf   Rd   RX   t   analyse_as_pyobjectt   analyse_as_c_arrayR=  t   analyse_as_cppt   analyse_as_c_functionRX  t   analyse_as_c_tupleR   (	   RF   RZ   R  R  t   analyse_baseR   t   is_memslicet   replacement_nodeR'  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s\    ..							c         C@  s  |  j  j } |  j j j r^ | t k	 r^ t |  j d d d |  j j |  |  _ d |  _ n |  j j j	 r?| t k	 r?| r | t
 t t f k r |  j j j s | j d s t |  j t  r |  j j   r |  j j d k r | j d r d |  _ n	 d |  _ |  j j t j |  j |  |  _ |  j j |  n |  j j |  |  _ d |  _ |  j j j	 r| t k rt j |  _ n|  j j j	 r| t k r| rt j |  _ qt j |  _ n | r| t t t t t
 t f k r| |  _ n d  } | t
 t f k r>|  j j j	 r>t  | |  j  |  j d | } n  | d  k rSt! } n  | |  _ | t
 t t f k r|  j  j" d  |  _  n  |  j# | |  |  S(	   Ns   Item lookup of unicode character codes now always converts to a Unicode string. Use an explicit C integer cast to get back the previous integer lookup behaviour.Rb   i   R	  i    t   boundscheckRy   s&   'NoneType' object is not subscriptable($   R   R}   R   R  R   R   Rf   RN  R   R8  R   R   R   t   signedRR   Rc   R   Rp   Rd   R.  R   R   R   R  t   create_to_py_utility_codeR   R  R   R  R   R   RB   R|   R   Rd  t   wrap_in_nonecheck_node(   RF   RZ   R   R  R  R'  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  C  sP    	!	$	$!		c         C@  s   |  j  j } | j |  _ | r* | |  _ nY |  j j j rW |  j j t j |  |  _ n, |  j j j s t	 |  j
 d |  j j  n  |  S(   Ns   Invalid index type '%s'(   R   R}   R'  R   RX   R.  R   R   R8  R   Rf   (   RF   RZ   R   R'  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  x  s    c         C@  sM  |  j  j } | j d |  j  |  j g  } | d  k ro t |  j d | |  j j f  t j |  _ d |  _	 |  S| j } | j
 r | j } n  | j |  _ | j |  _ |  j r | s t |  _ n  |  j d  k r | j t j d d   q n  |  j j | j d j |  |  _ | j |  _ | rI| j j rIt |  j d |  j  n  |  S(   Ns   []s/   Indexing '%s' not supported for index type '%s's   <error>t   CppExceptionConversions   CppSupport.cppi    s#   Can't set non-reference result '%s'(   R   R}   R  R   RB   R   Rf   R   R(   R  R&  R'  R  R   R   R   R2  R   R8  R.  Rq   R  R!  (   RF   RZ   R  R'  RO  t	   func_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s,     				"c         C@  s  |  j  j } | j r% |  j |  n |  j |  |  _ d  |  _ | j d  k rk t	 |  j
 d  t |  _ n |  j d  k r t |  _ n} t | j  t |  j  k r t	 |  j
 d t | j  t |  j  f  t |  _ n' | j t t | j |  j    |  _ |  S(   Ns)   Can only parameterize template functions.s7   Wrong number of template arguments: expected %s, got %s(   R   R}   R%  t   parse_indexed_fused_cdeft   parse_index_as_typest   type_indicesRB   R   t	   templatesR   Rf   R(   Rm   t
   specializet   dictt   zip(   RF   RZ   R'  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s     		 'c         C@  s   |  j  j } t |  j t  r |  j j   r |  j j } | j | k oW | j k  n r | d k  rx | | j 7} n  | j | |  _ n& t	 |  j
 d | | f  t j |  _ |  S|  j  j |  |  _  |  j | d | d | d t Sd  S(   Ni    s   Index %s out of bounds for '%s'R  R  R  (   R   R}   Rc   R   R   Rp   Rd   Rh  RY  R   Rf   R   R(   RN  R  R   (   RF   RZ   R  R  R'  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    !#	c      	   C@  sm  t  |  j t  r! |  j j } n |  j g } |  j } | j } d
 } | j r d d l m	 } | j
 r | j |  } | d
 k	 r | j } | j } | } q n  | j | | j  \ }	 } }
 |	 r t |  j d | d | } qHt |  j d | d | } nH| j s| j rH| j s0t |  | j k rHt } g  | D] } | j |  ^ q=} | j rt d   | D  } | rxl t |  D][ \ } } | j rt | j d | j d | j d | j } | j |  } | | | <qqWqn t d	   | D  } | rEt |  j d | d | } t  |  j t  sBt  qEqHn  | d
 k	 ri| j | |  } n  | S(   sI   
        Analyse buffer indexing and memoryview indexing/slicing
        i   (   R  t   indicesR   c         s@  s0   |  ]& } | j  j p' | j p' | j  j Vq d  S(   N(   R}   R8  R   R2   (   RK   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>  s   R   R   R   c         s@  s   |  ] } | j  j Vq d  S(   N(   R}   R8  (   RK   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>  s    N(    Rc   R   R  Rq   R   R}   RB   R   R  R  Rs  t   merged_indicest   unellipsifyt   ndimt   MemoryViewSliceNodeRf   t   MemoryViewIndexNodeR  R2   Rm   R   R   t   allR  R   t   SliceIntNodeR   R   R   t   BufferIndexNodet	   CloneNodeR   (   RF   RZ   R  R"  R   R'  R  R  R#  t   have_slicest   newaxesRq  R   t   do_replacementR  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    sN    						"		*"c         C@  s;   | j  d s |  j j   r" d  S|  j j d  |  _ d  S(   Nt	   nonechecks&   'NoneType' object is not subscriptable(   RR   R   R_  Rd  (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    c         C@  s   t  |  j t  r! |  j j } n |  j g } g  } xQ | D]I } | j | j |   | d d  k r: | r t | j d  n  d  Sq: W| S(   Nis   not parsable as a type(	   Rc   R   R  Rq   R   R   RB   R   Rf   (   RF   RZ   t   requiredR"  R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    c         C@  sI  t  j |  _ t |  _ |  j j } g  } |  j j s? |  j j rU | j	 |  j j
  n< t |  j t  r x' |  j j D] } | j	 | j
  qt Wn  |  j | d t } | d k rL|  j j |  |  _ |  j j j s t |  j
 d  nV |  j j j |  j _ |  _ |  j j |  j _ |  _ t |  j _ t |  _ t |  j _ t |  _ d Sx- t |  D] \ } } | j |  | | <qYW| j   } t |  t |  k rt |  j
 d  St |  t |  k  r| t |  }	 t |  j
 d |	  Sxt t | | |  D]` \ }
 } } t g  | j D] }	 | j |	  ^ q sFt |
 d  S| d k s[| j rd SqWt  t | |   } | j! |  } | j" rt |  j
 d  n x |  j j j#   D] } | j |  r| |  _ |  j j r| j |  _ t |  _ |  j j$ |  _$ n  t |  j j _ | |  j _ | j |  j _ PqqWt% d   d S(	   sK  
        Interpret fused_cdef_func[specific_type1, ...]

        Note that if this method is called, we are an indexed cdef function
        with fused argument types, and this IndexNode will be replaced by the
        NameNode with specific entry just after analysis of expressions by
        AnalyseExpressionsTransform.
        R0  s)   Can only index fused functions with typesNs   Too many types specifiedsH   Not enough types specified to specialize the function, %s is still fuseds   Type not in fused types6   Index operation makes function only partially specifics!   Couldn't find the right signature(&   R   R(   R}   R   t   is_fused_indexR   R   Rk  Ro  R   Rf   Rc   R  Rq   R  R   RB   R   R   R  R   R   R*  R  t   specialize_fusedt   get_fused_typesRm   R!  RS   t   typesR)  R2  R   R  R%  R(  RP  R   (   RF   RZ   R'  t	   positionsRm  t   specific_typesR  R}   t   fused_typesRL   Rf   t   specific_typet
   fused_typet   fused_to_specificRG  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    sl    					+		
		s   Indexing Python objectc         C@  s  |  j  j t t t f k r |  j  j t k r6 d } qq|  j  j t k rQ d } qq|  j  j t k rl d } qqt sqt d |  j  j   n |  j  j j r d |  j  j   d j	 g  |  j
 D] } | j   ^ q  f S|  j  j j r*|  j j } | d k  r| |  j  j j 7} n  d |  j  j   | f S|  j j sB|  j j rk|  j |  j  j k rkt |  j d	  d  Sd
 } | |  j  j   |  j j   f S(   Ns   PyList_GET_ITEM(%s, %s)s   PyTuple_GET_ITEM(%s, %s)s0   ((unsigned char)(PyByteArray_AS_STRING(%s)[%s]))s$   unexpected base type in indexing: %ss   %s<%s>t   ,i    s   %s.f%ss   Invalid use of pointer slices   (%s[%s])(   R   R}   R   R   R   R   R   R   R   t   joinR  R  RX  R   Rd   Rh  R&  R   R   Rf   (   RF   t
   index_codet   paramR   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   h  s,    			--c         C@  s   |  j  j j r |  j j t k } t | j j d  oh |  j j	 oh t
 |  j  j t  og |  j  j d k } t | j j d  } d |  j j   |  j j	 r d p d |  j j | | | f Sd Sd  S(   NR	  i    R  s   , %s, %d, %s, %d, %d, %di   R  (   R   R}   R8  R   R   R   R1  RR   R  R  Rc   Rd   R!   R  t   to_py_function(   RF   R   t   is_listR	  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   extra_index_params  s    	c      
   C@  s{  |  j  s d  Sd  } |  j j r.d } |  j j j r |  j j t k rO d } n! |  j j t k rj d } n d } t	 j
 d d  } q|  j j t k r d } t j
 d d  } q|  j j t k r |  j j t t f k r d	 } t j
 d d  } qd
 } | j j t	 j
 d d   t j
 d d  } n |  j j r|  j j t k r|  j j j sat  d } d } t j
 d d  } n |  j j t k r|  j j j st  |  j j st  d } d } t j
 d d  } n@ |  j j j o|  j st st d |  j |  j j f   n  | d  k	 r;| j j |  n  |  j j j r\|  j j   } n |  j j   } |  j j j r|  j rt | |  j d |  j   |  j j   |  j j   f |  j j r|  j   n d  |  j |  j  np | d k rd n d | } | j d |  j   | |  j j   | |  j |  | j  | |  j   |  j  f  |  j j rw| j! |  j    n  d  S(   NR  t   __Pyx_GetItemInt_Listt   __Pyx_GetItemInt_Tuplet   __Pyx_GetItemIntt
   GetItemInts   ObjectHandling.ct   __Pyx_PyDict_GetItemt   DictGetItemt   __Pyx_PyObject_Dict_GetItemt   __Pyx_PyObject_GetItemt   ObjectGetItemt   __Pyx_GetItemInt_Unicodes   (Py_UCS4)-1t   GetItemIntUnicodes   StringTools.ct   __Pyx_GetItemInt_ByteArrays   -1t   GetItemIntByteArrays0   unexpected type %s and base type %s for indexings   %s = %s[%s];s   !%ss	   %%s == %ss   %s = %s(%s, %s%s); %s("   R   RB   R}   RX   R   R8  R   R   R   R   R8  R   R   R   R   R   R1  R2  R  R   R   R=  R  R   R   R   R   Rf   R   R  R   RA  R   R  (   RF   R   R0  t   error_valueRO  R=  t   error_check(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    st    			*		$c      	   C@  s   |  j  j j rz |  j j t k rF | j j t j d d   d } n" | j j t j d d   d } |  j  j	   } n0 |  j  j
   } |  j j t k r d } n d } | j | j d	 | |  j j
   | | |  j |  f |  j   d  S(
   Nt   SetItemIntByteArrays   StringTools.ct   __Pyx_SetItemInt_ByteArrayt
   SetItemInts   ObjectHandling.ct   __Pyx_SetItemIntRC  t   PyObject_SetItems   %s(%s, %s, %s%s)(   R   R}   R8  R   R   R1  R2  R   R8  R   R   R   R   R  RA  Rf   (   RF   t
   value_codeR   RO  R=  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_setitem_code  s*    					c      	   C@  s  |  j  |  |  j j r2 |  j | j   |  n)|  j j t k ri |  j | |  } |  j | |  n |  j j j r8|  j	 r8|  j	 d k r8| r | r |  j
 | k r t | |  j |  j |  j   | j   |  j
 | |  j  q[t | |  j d |  j   | j   f |  j j r"|  j   n d  |  j
 |  j  n# | j d |  j   | j   f  |  j |  |  j |  | j |  | j |  d  S(   NRF  s   %s = %s;(   R  R}   RX   RW  R   R   R   t   _check_byte_valueR=  R  R   R   Rf   R   R  R   RB   R   R  R  R  R  (   RF   Rn   R   R  R  R   RV  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s,    'c         C@  s{  | j  j s! t t | j     | j   } | j   r d | j k oS d k  n r\ | St } t | j	 d | j d d n | j  t
 j k } |  j sdg  } | j s | j  j r | j d |  n  | j s | j o | j  t
 j t
 j t
 j f k r| j d |  n  | rd| j d d	 j |   | j d
 | j |  j	   | j d  qdn  | rwd | } n  | S(   Ni    i   s9   value outside of range(0, 256) when assigning to byte: %sRb   i   s   %s < 0s   %s > 255s   if (unlikely(%s)) {s    || sF   PyErr_SetString(PyExc_ValueError, "byte must be in range(0, 256)"); %sR   s   ((unsigned char)%s)(   R}   R8  R   R  R   Rp   Rd   R   R   Rf   R   R   R   R   R  R   R   R   t   c_schar_typeR   R<  R   (   RF   R   Rn   RV  t
   needs_castt
   conditions(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRX    s:    !	

		c         C@  s   |  j  |  |  j j j rP d } |  j j   } | j j t j d d   n0 |  j j	   } |  j
 j t k rz d } n d } | j | j d | |  j
 j	   | |  j |  f |  j   |  j |  |  j |  d  S(   Nt   __Pyx_DelItemIntt
   DelItemInts   ObjectHandling.ct   PyDict_DelItemt   PyObject_DelItems   %s(%s, %s%s)(   R  R   R}   R8  R   R1  R2  R   R8  R   R   R   R   R  RA  Rf   R  R  (   RF   R   R  RO  R=  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  A  s&    		N(%   RH   RI   R   RB   R  R   Rp  R   R1  R   R   R^  R_  R   R   R   Rk   R   R   R  R  R  R  R  R  R  R  R  R  R  R   RA  R	  RW  R  RX  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   O  sD   
						 		Q		E	5					5		[			G	!!	$R*  c           B@  s   e  Z d  Z d d g Z e Z e Z d   Z e d  Z	 d   Z
 d   Z d   Z d   Z d	   Z d
   Z d   Z d   Z e d  Z d d  Z d   Z RS(   s   
    Indexing of buffers and memoryviews. This node is created during type
    analysis from IndexNode and replaces it.

    Attributes:
        base - base node being indexed
        indices - list of indexing expressions
    R   R"  c         C@  s   |  j  | d t d  S(   NR  (   R   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   k  s    c         C@  s   |  j  j r= t |  j  j  r= t |  j d  t |  _ |  S| s |  j  j j j sh t |  j d  q t	 |  _
 |  j  j j r t	 |  j  j j _
 q n  d |  _ |  j | |  |  j |  |  S(   sz   
        Analyse types for buffer indexing only. Overridden by memoryview
        indexing and slicing subclasses
        s   Can only index buffer variabless   Writing to readonly buffers&   'NoneType' object is not subscriptable(   R   Rk  R2   R}   R   Rf   R(   R   t   writableR   R3  R  t
   buffer_auxt   none_error_messaget   analyse_buffer_indexR  (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   n  s     			c         C@  s   t  |  j j  rX g  |  j D] } | | j f ^ q } t t |  j j |   |  _ n' |  j j |  |  _ |  j j j |  _ |  j j |  _ | r |  j j	 s |  j j  r t
 |  _ n  d  S(   N(   R2   R   R}   R"  R>   R8   R   R7  t   buffer_typeRX   R   R   (   RF   RZ   R  t   idxt   index_with_type_list(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRc    s    %!c         C@  s   d S(   sk   
        Called by IndexNode when this node is assigned to,
        with the rhs of the assignment
        N(    (   RF   Rn   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_assignment  R  c         C@  s>   | j  d s |  j j   r" d  S|  j j |  j  |  _ d  S(   NR/  (   RR   R   R_  Rd  Rb  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    c         C@  sA   |  j  s |  j r= |  j j r= t |  j d  t |  _ q= n  d  S(   Ns2   Cannot access buffer with object dtype without gil(   Rq  Rr  R}   RX   R   Rf   R(   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   d |  j  S(   Ns   (*%s)(   t   buffer_ptr_code(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s1   |  j  } |  j  j r! | j } n  | j j |  S(   N(   R   t   is_nonecheckRm  R}   t	   get_entry(   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   buffer_entry  s    	c         C@  s`   | j  j t j | j | j j r* t j n t j  d t } | j	 d | | j
   f  | S(   NR   s   %s = %s;(   R   R   R   R  R}   R  t   c_ssize_t_typet   c_size_t_typeR   R   R   (   RF   R   t   ivart   ret(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   get_index_in_temp  s    	!	c         C@  s  |  j  rJ |  j s |  j rJ | j j d rG t |  j d d d qG qJ n  g  |  j D] } |  j | |  ^ qT } d d l	 m
 } |  j   } | j j r | j j } n | j d } | | j d | d g  |  j D] } | j j ^ q d	 | d
 | j j d |  j d | d | d |  j   f S(   s8   
        ndarray[1, 2, 3] and memslice[1, 2, 3]
        R  s(   Use boundscheck(False) for faster accessRb   i   (   R  t   negative_indicesR   t   index_signedst   index_cnamesRR   Rf   R   R  (   R  Rq  Rr  R1  RR   R   Rf   R"  Rp  R  R  Rk  R}   R  Rq  t   buffer_defaultst   put_buffer_lookup_codeR  (   RF   R   Rn  t   index_tempsR  Rk  Rq  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   buffer_lookup_code  s$    	("c         C@  sU   |  j  |  |  j | |  |  j |  |  j |  | j |  | j |  d  S(   N(   R  t   generate_buffer_setitem_codeR  R  R  R  (   RF   Rn   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    R  c   
      C@  s  |  j  j } t |  r t | j  r | j j t t |  j  j   d t } | j	 d |  | j	 d | | |  j  j
   f  | j	 d | t |  j  | | j
   f  d  S|  j |  \ } } |  j j j r}| j j | j d t } | j   }	 | j	 d | | f  | j d |  | j	 d |	 | f  | j	 d | | |	 f  | j d |  | j j |  n  | j	 d | | | j   f  d  S(	   NR   s   __Pyx_call_destructor(%s);s   new (&%s) decltype(%s){%s};s   %s%s %s= %s;s   %s = %s;s   *%ss$   __Pyx_INCREF(%s); __Pyx_DECREF(*%s);s   *%s %s= %s;(   R   R}   R2   R0   R   R   R>   R:   R   R   R   R7   R"  Rw  Rd  R7  RX   t   buf_ptr_typeR   R  RS  R   (
   RF   Rn   R   t   opR'  RP  Rk  t   ptrexprt   ptrR   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRx    s0    *	#			c         C@  s   t  |  j j  rb |  j   } | j d |  | j d | | |  j j   t |  j  f  d  S|  j |  \ } |  _	 |  j j
 r | j d |  j   |  j	 f  | j d |  j    n  d  S(   Ns   __Pyx_call_destructor(%s);s   new (&%s) decltype(%s){%s%s};s   %s = (PyObject *) *%s;s   __Pyx_INCREF((PyObject*)%s);(   R2   R   R}   R   R   R   R7   R"  Rw  Rh  RX   (   RF   R   t   resRk  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    	 (   RH   RI   R  R   R   Rq  R   R3  R   R   Rc  Rg  R  R   R   Rk  Rp  Rw  R  Rx  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR*  Z  s"   										)R'  c           B@  sA   e  Z e Z e Z e Z e d   Z d   Z d   Z	 d   Z
 RS(   c         C@  sL  d d l  m } t |  |  _ |  j } | j | |  j j j  \ } } } | s t	 |  _
 |  j j ss |  j j r t	 |  j j j _
 q n  | o t |  |  j j j k |  _ g  } t j } g  }	 t |  t |  |  j j j k rt |  _ t | |  j j j j d |  j j  |  Sd }
 xt |  D]\ } } | j |  } | j rt	 |  _ |	 j |  | j d  q2n  |  j j j |
 \ } } |
 d 7}
 | j rGt	 |  _ | j j r| j | | f  n | j | d f  xd D]P } t | |  } | j s| j | |  } t | | |  |	 j |  qqWq2| j j  s_| j j! r| j j! r|  j" rt# | j d
 d d t	 t$ _" n  t	 |  _% | j | |  } | | | <|	 j |  q2t |  _ t | j d | j  |  Sq2W|  j% o|  j |  _% |	 |  _ | |  _& | j' |  _' |  j( | | |  |  j) |  |  S(   Ni   (   R  s&   Too many indices specified for type %si    t   directt   stridedR   R   R   s/   Index should be typed for more efficient accessRb   i   s/   Invalid index for memoryview specified, type %s(   R~  R  (   R   R   R   (*   R  R  R6   t   is_pythran_modeR"  R$  R   R}   R%  R   R3  Rk  Ro  R   Rm   t   memslice_indexR   R   R(   R   Rf   R  R   R  Rs  R   R  R   R   R   R.  t   setattrR8  RX   t   warned_untyped_idxR   R'  Rr  t   original_indicesR   t   analyse_operationR  (   RF   RZ   R  R  R"  R,  R-  R  R  t   new_indicest   axis_idxR  R   t   accesst   packingt   attrR   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     sp    	$	%	%			
				
			c         C@  s   d |  _  |  j | |  d  S(   Ns"   Cannot index None memoryview slice(   Rb  Rc  (   RF   RZ   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  l  s    	c         C@  s@   |  j  j r< |  } | j s$ | j r< t | _ t | _ q< n  d S(   s   
        Support broadcasting for slice assignment.
        E.g.
            m_2d[...] = m_1d  # or,
            m_1d[...] = m_2d  # if the leading dimension has extent 1
        N(   R}   R   R5  R   (   RF   Rn   t   lhs(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_broadcast_operationp  s
    	c         C@  s)   |  j  |  } | r% | j | _ | S|  S(   N(   Rg  R6  (   RF   Rn   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt$   analyse_as_memview_scalar_assignment}  s
    (   RH   RI   R   Rr  R   Rq  R  R   R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR'    s   P		R&  c           B@  sq   e  Z e Z e Z e Z e Z e Z d    Z	 d   Z
 d   Z d   Z d   Z d   Z d   Z e d  Z RS(   c         C@  s;   t  d   |  j D  |  _ |  j r7 |  j j |  _ n  d S(   s@   Slicing operations needing no evaluation, i.e. m[...] or m[:, :]c         s@  s<   |  ]2 } | j  o3 | j j o3 | j j o3 | j j Vq d  S(   N(   R   R   R  R   R   (   RK   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>  s   N(   R(  R"  t   is_ellipsis_noopR   R}   (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_ellipsis_noop  s
    	c         C@  s   d d l  m } | s+ t |  _ d |  _ n	 d |  _ |  j | |  |  j rQ d  Sd  |  _ t |  _	 t |  _
 | j |  j |  s t |  _ d  St j |  j j j |  |  _ |  j j   p |  j j   s |  j j |  |  _ n  d  S(   Ni   (   R  s&   Cannot assign to None memoryview slices"   Cannot slice None memoryview slice(   R  R  R   R5  Rb  R  R  RB   R   R   R   t   validate_axesRf   R(   R}   R   R  R   R7  R^  R   R]  (   RF   RZ   R  R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s"    							c         C@  sU   | j  j rA |  j  j j | j   s1 | j  j rA t |  j |   St |  j |   Sd  S(   N(   R}   R   R7  R@  RX   t   MemoryCopyScalarRf   t   MemoryCopySlice(   RF   Rn   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRg    s
    c         C@  s   | s
 d S|  j } | } x t |  j  D]x \ } } | j r | j j r | j j r | j j r | d | | <| j d  | s | Sq d Sq+ | j	 j
 s+ d Sq+ W| r t |  t |  |  j j	 j k r d S| | 7} n  | S(   s  Return a new list of indices/slices with 'indices' merged into the current ones
        according to slicing rules.
        Is used to implement "view[i][j]" => "view[i, j]".
        Return None if the indices cannot (easily) be merged at compile time.
        i    N(   RB   R  R  R   R   R  R   R   Rv   R}   R8  Rm   R   R%  (   RF   R"  R  R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR#    s&    
	$%c         C@  s/   |  j  r% |  j j   p$ |  j j   S|  j   S(   N(   R  R   R^  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^    s    	c         C@  s   |  j  j   S(   s3   This is called in case this is a no-op slicing node(   R   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c      
   C@  s  |  j  r d  S|  j   } |  j } t } t |  j  } x |  j D]| } | j r t } | j	 j
 su t |  | _	 n  | j j
 s t |  | _ n  | j j
 s t |  | _ q qB t |  qB Wt |  s t  | j | |  j |  j   d | d | d | j j d  S(   NR  R,  RR   (   R  Rk  R  R   t   iterR"  R  R   R   R   R  t   nextR   R   R   R   t   generate_buffer_slice_codeR   R1  RR   (   RF   R   Rk  R  R,  R}  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s*    	
	c         C@  s   |  j  r |  j |  n |  j |  |  j rB |  j | |  n |  j | |  |  j  rk |  j |  n |  j |  | j |  | j |  d  S(   N(	   R  R  R  t   is_memview_scalar_assignmentt+   generate_memoryviewslice_assign_scalar_codet&   generate_memoryviewslice_setslice_codeR  R  R  (   RF   Rn   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    			(   RH   RI   R   Rs  R   R  R  Rr  R5  R  R  Rg  R#  R^  R   R	  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR&    s   	
							t   MemoryCopyNodec           B@  s,   e  Z d  Z d g Z d   Z e d  Z RS(   se   
    Wraps a memoryview slice for slice assignment.

        dst: destination mememoryview slice
    t   dstc         C@  s/   t  t |   j |  | |  _ | j |  _ d  S(   N(   RC   R  R  R  R}   (   RF   Rf   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    	c         C@  sN   |  j  j |  |  j | |  |  j  j |  | j |  | j |  d  S(   N(   R  R  t   _generate_assignment_codeR  R  (   RF   Rn   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  $  s
    (   RH   RI   R  R   R  R   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   		R  c           B@  s#   e  Z d  Z e Z d Z d   Z RS(   s   
    Copy the contents of slice src to slice dst. Does not support indirect
    slices.

        memslice1[...] = memslice2
        memslice1[:] = memslice2
    t   __pyx_memoryview_copy_contentsc      	   C@  s   |  j  } | j j | j  | j j | j  | j | j d |  j | j   | j   | j j | j j | j j	 j
 f | j   d  S(   Ns   %s(%s, %s, %d, %d, %d)(   R  R}   t   assert_direct_dimsRf   R   R  t   copy_slice_cnameR   R%  R7  RX   (   RF   RD  R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  8  s    		(   RH   RI   R  R   R6  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ,  s   R  c           B@  s    e  Z d  Z d   Z d   Z RS(   s   
    Assign a scalar to a slice. dst must be simple, scalar will be assigned
    to a correct type and not just something assignable.

        memslice1[...] = 0.0
        memslice1[:] = 0.0
    c         C@  s,   t  t |   j | |  | j j |  _ d  S(   N(   RC   R  R  R}   R7  (   RF   Rf   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  O  s    c   
      C@  sq  d d l  m } |  j j j |  j j  |  j j j } | j d  } |  j j j d  } | j   | j	 d | | j
   f  |  j j   s |  j j   r |  j j
   } n& | j	 d | |  j j
   f  d } | j |  j j | |  j j j |  } | j   }	 | j r)| j	 d |	  n  | j	 d | |	 f  | j rY| j	 d	  n  | j   | j   d  S(
   Ni   (   R  R  s   %s __pyx_temp_scalar = %s;s   %s __pyx_temp_slice = %s;t   __pyx_temp_slices   Py_DECREF(*(PyObject **) %s);s!   *((%s *) %s) = __pyx_temp_scalar;s   Py_INCREF(__pyx_temp_scalar);(   R  R  R  R}   R  Rf   R7  R   t   begin_blockR   R   R   R^  t
   slice_iterR%  t   start_loopsRX   t	   end_loopst	   end_block(
   RF   t   scalarR   R  R7  t	   type_declt
   slice_declt   dst_tempt   slice_iter_objt   p(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  S  s*    
 		
(   RH   RI   R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  F  s   	t   SliceIndexNodec           B@  s!  e  Z d  d d d g Z d Z d   Z d d  Z d   Z d   Z d	   Z	 d
   Z
 d   Z e d  Z d   Z e j Z d Z e j d d d i d d 6Z e j d d d i d d 6Z d   Z d   Z e d d d  Z e d  Z d   Z d   Z d   Z d   Z d   Z  RS(   R   R   R   t   slicec         C@  s   |  j  j |  } | j s$ | j r( t S| j r5 t S| t t t t t	 t
 t f k rZ | S| j sl | j r t j | j d   St S(   N(   R   Rk   R
  R=  R   R  R   R   R   R+   R   R   R&  R   R   t   c_array_typeR'  RB   R   (   RF   RZ   R'  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk     s    	i    c         C@  sP   | t  k	 r@ |  j r@ |  j j   r7 | |  j j 7} q@ t  } n  |  j j |  S(   N(   R   R   Rp   Rd   R   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s
    	c         C@  sQ   |  j  j } | rD | j r t S| t t t t t t	 f k rD t Sn  t
 j |   S(   N(   R   R}   R
  R   R   R   R   R+   R   R   R   R_  (   RF   R'  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_    s    	c         C@  sb   |  j  d  k r d  } n |  j  j } |  j d  k r< d  } n |  j j } |  j j | | !|  _ d  S(   N(   R   RB   Rd   R   R   (   RF   R   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    		c         C@  s   |  j  j |  } |  j d  k r* d } n |  j j |  } |  j d  k rT d  } n |  j j |  } y | | | !SWn  t k
 r } |  j |  n Xd  S(   Ni    (   R   R   R   RB   R   R  R   (   RF   R   R   R   R   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    		c         C@  s   d  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s1   |  j  | d t } | j j r- t | _ n  | S(   NR  (   R   R   R}   RX   R   (   RF   RZ   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         @  s  |  j  j |  |  _  |  j  j j sB |  j  j j sB |  j  j j r t |  j  } t |  j d |  j	 pi | d |  j
 px | d | } t |  j d | d |  j  } | j | d | d | d t S|  j	 r |  j	 j |  |  _	 n  |  j
 r|  j
 j |  |  _
 n  | j d	 s't |  j	 |  j
  n  |  j  j } | j r{| r{|  j	 rc|  j
 rc| |  _ qt j | j  |  _ n | j s| j rt |  |  _ ni | j rt |  _ nT | j r| |  _ n? | j rt j | j  |  _ n |  j  j |  |  _  t |  _ | j r2| |  _ |  j  j d
  |  _  n  |  j t k r|  j	 sW|  j	 j r|  j
 sm|  j
 j rt |  j  } t |  j d t j  |  j	 p|  d t j  |  j
 p|  d | j |  |  _! qn t j"     f d   } |  j	 r9|  j	 j j# r| |  j	 d |  |  _	 n  |  j	 j$   |  |  _	 n  |  j
 r|  j
 j j# rl| |  j
 d |  |  _
 n  |  j
 j$   |  |  _
 n  d |  _% |  S(   NR   R   R   R   R   R  R  R  R	  s&   'NoneType' object is not subscriptablec         @  s   d d l  m } m } | |   } t |  j d t |  j d   d | d | j   r^ t |  n t d | j	   |  d t
 |  j d	 | d
 d d t |  j  j |  j |  } | | |  S(   Ni   (   t   EvalWithTempExprNodet   ResultRefNodet   true_valR}   R   Rd   t	   false_valt   testt   operand1R	   t   ist   operand2(   t	   UtilNodesR  R  t   CondExprNodeRf   R   R  R  R   R.  t   PrimaryCmpNodeR}  R   t   analyse_result_type(   Rh   t   default_valueRZ   R  R  t   node_reft   new_expr(   t   c_int(    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt
   allow_none  s$    		!		R  R  i   (&   R   R   R}   R  R2   R   R}  Rf   R  R   R   R   R  R   RR   Ri   R   R   R  R'  R
  t   is_cpp_stringRa   R  R   R&  RN  R   R  Rd  R   t   copyt   deepcopyR  R   RX   R.  R   (   RF   RZ   R  t	   none_nodeR   Rx   R'  R  (    (   R  s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     sr    -															c         C@  s   |  j  j |  } | r | j r |  j r |  j r d d l m } | j | j  t	 |  j
  } t |  j
 d | d | d | } t j | | j | | g   Sn  d  S(   Ni   (   R  R   R   R   (   R   R   RX   R   R   R  R  R2  R  R}  Rf   R  R   R  R  RB   (   RF   RZ   R'  R  R  t
   slice_node(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   $  s    		s   Slicing Python objectt   SliceObjects   ObjectHandling.cRr  t   GetR  t   Setc         C@  s   |  j  j j s |  j  j j r | t t t t f k r | t t f k ry | j d ry t	 |  j
 d |  j  j | f  n  | |  _ n  | j r |  j  j j r |  j r |  j r |  j  j | |  Sn  t t |   j | |  S(   NRJ   s:   default encoding required for conversion from '%s' to '%s'(   R   R}   R
  R  R   R   R   R   RR   R   Rf   R   R   R   R.  RC   R  (   RF   RC  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  ?  s    	c         C@  s  |  j  j s' t |  j d |  j   d  S|  j j   } |  j   } |  j   } |  j   } |  j j  j rF|  j j   } |  j j  t	 j
 t	 j f k r d | } n  |  j  t k r d } n |  j  j j   } |  j d  k r| j d | | | | | j | |  j  f  q| j d | | | | | | | j | |  j  f  nb|  j j  j r|  j j   } |  j j  t	 j k rd | } n  |  j d  k r| j d | | | | j | |  j  f  q| j d | | | | | | j | |  j  f  n|  j j  t k rY| j j t j d	 d
   | j d | | | | | j | |  j  f  nO|  j  t k r| j j |  j  |  j   \ } } }	 }
 } } } | j d | |  j j   |	 |
 | | | | | t | j j d  | j | |  j  f  n |  j j  t  k r0| j j t! j d d   d } n= |  j j  t" k rg| j j t! j d d   d } n d } | j d | | |  j j   | | | j | |  j  f  | j# |  j    d  S(   Ns,   Slicing is not currently supported for '%s'.s   ((const char*)%s)t	   ByteArrays'   %s = __Pyx_Py%s_FromString(%s + %s); %ss7   %s = __Pyx_Py%s_FromStringAndSize(%s + %s, %s - %s); %ss   ((const Py_UNICODE*)%s)s-   %s = __Pyx_PyUnicode_FromUnicode(%s + %s); %ss?   %s = __Pyx_PyUnicode_FromUnicodeAndLength(%s + %s, %s - %s); %st   PyUnicode_Substrings   StringTools.cs.   %s = __Pyx_PyUnicode_Substring(%s, %s, %s); %ssD   %s = __Pyx_PyObject_GetSlice(%s, %s, %s, %s, %s, %s, %d, %d, %d); %sR	  t   SliceTupleAndLists   ObjectHandling.ct   __Pyx_PyList_GetSlicet   __Pyx_PyTuple_GetSlicet   PySequence_GetSlices   %s = %s(%s, %s, %s); %s($   R}   RX   R   Rf   R   R   t
   start_codet	   stop_codeR
  R   RT   RV   R   RY   t   titleR   RB   R   R   R  t   c_py_unicode_ptr_typeR   R1  R2  R   R8  R   t   get_slice_utility_codet   get_slice_configR   R   RR   R   R   R   R  (   RF   R   t   base_resultR   R  R  t	   type_namet   has_c_startt
   has_c_stopt   c_startt   c_stopt   py_startt   py_stopt   py_slicet   cfunc(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  O  s    			!					c         C@  s  |  j  |  |  j j r | j j |  j  |  j   \ } } } }	 }
 } } | j |  j d |  j	 j
   | j
   | |	 |
 | | | | t | j j d  f
  n |  j r |  j   n d } | j j r | j j } |  j | |  n d |  j   | f } | j j t j d d   | j d |  j	 j   | | j   |  j	 j   | f  |  j |  |  j |  | j |  | j |  d  S(   Ns?   __Pyx_PyObject_SetSlice(%s, %s, %s, %s, %s, %s, %s, %d, %d, %d)R	  R  s   %s - %st   IncludeStringHs   StringTools.cs,   memcpy(&(%s[%s]), %s, sizeof(%s[0]) * (%s));(   R  R}   RX   R1  R2  t   set_slice_utility_codeR  R  Rf   R   R   R   RR   R   R  R   Rh  t   generate_slice_guard_codeR  R   R8  R   R   R  R  R  R  (   RF   Rn   R   R  R  R   R  R  R  R  R  R  R  t   start_offsett   array_length(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s4    !				c   
      C@  s   |  j  j j s* t |  j d |  j  d  S|  j |  | j j |  j  |  j	   \ } } } } } } }	 | j
 |  j d |  j  j   | | | | |	 | | t | j j d  f	  |  j |  |  j |  d  S(   Ns=   Deleting slices is only supported for Python types, not '%s'.s;   __Pyx_PyObject_DelSlice(%s, %s, %s, %s, %s, %s, %d, %d, %d)R	  (   R   R}   RX   R   Rf   R  R1  R2  R  R  R  R   R   RR   R  R  (
   RF   R   R  R  R  R  R  R  R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s     	!	c         C@  s   t  d d } } } |  j r[ |  j j j } | rE |  j j   } q[ d |  j j   } n  t  d d } } } |  j r |  j j j } | r |  j j   } q d |  j j   } n  |  j r d |  j j   p d } | | | | | | | f S(   NR  R  s   &%s(   R   R   R}   RX   R   R   R   R  (   RF   R  R  R  R  R  R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    		"c   
      C@  s  |  j  j j s d  S|  j  j j } y t |  } } Wn t k
 rO d  } n Xd  } } |  j r |  j j   } yT t |  } | d k  r | d  k r d | | f } q | | 7} n | } d  } Wq t k
 r q Xn  |  j	 r|  j	 j   } y t |  } | d k  rE| d  k r8d |  j  j j | f } qE| | 7} n  t
 | t  ra| | 8} n d | | f } d  } Wqt k
 rqXn  d  } t } y t |  }	 Wn t k
 rd  }	 n Xt
 | t  } | r| d k  r|	 d k rt |  j d  qn | rR| d  k rR| d  k rR|	 | k rt |  j d | | f  qnO | d  k	 r| d  k rs| } n  d | | f } n | d  k	 r| } n | } | r| j d | | f  | j d | | f  | j | j |  j   | j d	  n  d  S(
   Ni    s   %s + %ds	   %s - (%s)s   Assignment to empty slice.s8   Assignment to slice of wrong length, expected %s, got %ss	   (%s)-(%s)s   if (unlikely((%s) != (%s))) {s   PyErr_Format(PyExc_ValueError, "Assignment to slice of wrong length, expected %%" CYTHON_FORMAT_SSIZE_T "d, got %%" CYTHON_FORMAT_SSIZE_T "d", (Py_ssize_t)(%s), (Py_ssize_t)(%s));R   (   R   R}   R   Rh  R  Rr   RB   R   R   R   Rc   R!   R   R   Rf   R   R   (
   RF   R   t   target_sizet
   slice_sizet   total_lengthR   R   t   runtime_checkt   compile_time_checkt   int_target_size(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s|    

	
	

		c         C@  s   |  j  r |  j  j   Sd Sd  S(   NR  (   R   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  K  s    	c         C@  s:   |  j  r |  j  j   S|  j j j r2 |  j j j Sd Sd  S(   NR  (   R   R   R   R}   R   Rh  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  Q  s
    	c         C@  s   d S(   Ns   <unused>(    (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   Y  s    N(!   RH   RI   R   RB   R  Rk   R   R_  R   R   R   R   R   R   R   R#   R   R   R  R   t   loadR  R  R.  R	  R   R  R  R  R  R  R  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  t  s6   			
				`				e"		N		R  c           B@  se   e  Z d  d d g Z e Z e Z d Z d   Z d   Z	 d   Z
 d   Z d Z d	   Z d
   Z RS(   R   R   R   i   c         C@  s+   t  |  j j |  j j |  j j  |  _ d  S(   N(   R  R   Rd   R   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   j  s    		c         C@  sq   |  j  j |  } |  j j |  } |  j j |  } y t | | |  SWn  t k
 rl } |  j |  n Xd  S(   N(   R   R   R   R   R  R  R   (   RF   R   R   R   R   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   p  s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  y  s    c         C@  s   |  j  j |  } |  j j |  } |  j j |  } | j |  |  _  | j |  |  _ | j |  |  _ |  j  j r |  j j r |  j j r t |  _ t |  _ n  |  S(   N(	   R   R   R   R   RN  R   R   R   R   (   RF   RZ   R   R   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   |  s    $	s    Constructing Python slice objectc         C@  s   |  j  S(   N(   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c      	   C@  s   |  j  rt t |  j |  f  } | j t d d d d | |  _ | j |  j  } | d  k ra d  S| j |  j	  n  | j
 d |  j   |  j j   |  j j   |  j j   | j |  j   |  j	  f  | j |  j    |  j  r | j |  j    n  d  S(   NR  t   cleanup_leveli   t	   dedup_keys    %s = PySlice_New(%s, %s, %s); %s(   R   R~   R}   R  R   R  R  RB   R  Rf   R   R   R   R   R   R   R   R  RS  (   RF   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s"    	!	 	(   RH   RI   R   R   R   R    R}   R   R   R   R_  R   R  R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ^  s   						R)  c           B@  sD   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   i    c         C@  s+   t  |  j j |  j j |  j j  |  _ d  S(   N(   R  R   Rd   R   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    		c         C@  sq   |  j  j |  } |  j j |  } |  j j |  } y t | | |  SWn  t k
 rl } |  j |  n Xd  S(   N(   R   R   R   R   R  R  R   (   RF   R   R   R   R   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_    s    c         C@  s   |  j  j |  |  _  |  j j |  |  _ |  j j |  |  _ |  j  j sc |  j  j |  |  _  n  |  j j s |  j j |  |  _ n  |  j j s |  j j |  |  _ n  |  j  j r |  j j r |  j j r t |  _ t |  _	 n  |  S(   N(
   R   R   R   R   R  R[  R   R   R   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    $	c         C@  s   d  S(   N(    (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  sF   x? |  j  |  j |  j f D]% } t | t  r | j j   q q Wd  S(   N(   R   R   R   Rc   R+  Rm  R   (   RF   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    (	   RH   RI   R   R   R   R_  R   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR)    s   							t   CallNodec           B@  s_   e  Z d	 Z d    Z d   Z d   Z d   Z d	 d  Z d   Z	 d   Z
 d   Z d Z RS(
   c   
      C@  s  |  j  } | j |  } t | t  r7 t j | j  S| t k rv t | d d   } | d  k	 rv | j
 pm | } qv n  | j r | j } n  | j r6t |  j  d d   r/t |  d  r/|  j  j j   } g  |  j D] } | j |  ^ q } t j | |  } | r/| j
 } | j r%| j } n  | j Sn  | j S| t k r| j r| j r| j j
 r| j j
 }	 |	 j ry|	 S|	 j r| j j d k rt j S| j j t j k r|	 Sqqn  t S(   NR   Rq   Re   (   RO  Rk   Rc   R  R   R  R  R   R   RB   R}   R&  R'  R   R   R   t   all_alternativesRq   t
   best_matchR  R   Rk  R  R  RY   R  R   t#   types_that_construct_their_instance(
   RF   RZ   RO  R  R   t   alternativesRm  t	   arg_typest
   func_entryt   result_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk     s@    			$%		
		c         C@  s   |  j  j |  S(   N(   RO  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^    s    c         C@  s   |  j  d  k	 r |  j  S|  j j } | t k r{ |  j j r{ |  j j } | j j rV t S| j j	 r{ | j
 t j k r{ t Sn  t j |   S(   N(   t   may_return_noneRB   RO  R}   R   Rk  R   R  R   R  RY   R   R  R   R_  (   RF   R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_    s    c         C@  s   | d  k r | j } n  | t j k r | j r | j r | j j r | j j t j k r | j j d k r t	 j
 |  _ t	 j
 |  _ n t j | j j |  _ t |  _ t |  _ n? | j r | j r | j j |  _ t |  _ t |  _ n	 t |  _ d  S(   NRe   (   RB   R}   R   R   Rk  R   R  RY   R  R   R  R   t   builtin_typesR   R   R  R   (   RF   RO  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   set_py_result_type  s$    				c   	      C@  s  |  j  j |  } | r | j r |  j   \ } } g  } x] t | | j j  D]F \ } } | j t d | j	 d t
 d | j	 d | j  d |   qO W| r | | j 7} n  | |  _ t |  _ |  j |  |  j | |  t S| r| j rg  |  j D] } | j |  ^ q |  _ | j j d  } | s[t |  j  j	 d |  j  j  t |  _ |  St |  j  j	 | j  |  _  | |  j  _ |  j  j | j    |  j |  | |  _ t Sd  S(   NRf   t   keyR   s   <init>s'   no constructor found for C++  type '%s'(   RO  R   R  t   explicit_args_kwdsR!  R  t   var_entriesR   t   DictItemNodeRf   R  RY   t   key_value_pairst   DictNodeR   R   R.  R   R=  Rq   R  R   R(   R}   R  R   R  R  t   analyse_c_function_call(	   RF   RZ   R}   Rq   R  t   itemsRm  t   memberR  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_as_type_constructor5  s4    ">		(		c         C@  s
   |  j  j S(   N(   R}   R!  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   Q  s    c         C@  sE   |  j    } | j r" |  j   n t | d t  sA |  j   n  d  S(   NR   (   t   function_typeRX   R   R   R   (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   T  s
    	s   Calling gil-requiring functionN(   RH   RI   RB   R  Rk   R   R^  R_  R  R  R   R   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   	%						RV  c           B@  s   e  Z d  d d d d g Z d Z d Z d Z e Z e Z	 e Z
 e Z e Z d   Z d   Z d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z RS(   RF   t   coerced_selfRO  Rq   t	   arg_tuplec         C@  sl   |  j  j |  } g  |  j D] } | j |  ^ q } y | |   SWn  t k
 rg } |  j |  n Xd  S(   N(   RO  R   Rq   R  R   (   RF   R   RO  Rm  Rq   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   u  s    %c         C@  s   |  j  j   } | d k r t |  j  d k rF t |  j j d  q |  j d j |  } | s| t |  j d j d  q t j |  SnT | d k r t |  j  d k r t |  j j d  n  |  j d j	 |  } | j
 Sd  S(   Nt   pointeri   s   only one type allowed.i    s   Unknown typet   typeof(   RO  R`  Rm   Rq   R   Rf   R   R   R  R   R}   (   RF   RZ   R  R}   t   operand(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   }  s    c         C@  s   |  j  d  f S(   N(   Rq   RB   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    c         C@  sE  |  j  |  r |  S|  j r  |  St |  _ d |  j _ |  j j |  |  _ |  j } | j r | j r | j j r | j	 |  _
 t |  j
  | _	 n  |  j   } t |  _ t |  r7| j r7t |  r7t } t |  j d |  j |  _ |  j j |  |  _ x$ |  j j D] } | t |  M} qWt |  |  _ n  |  j r| j t |   t j |  d | d |  j d t t | |  j j   S| j rt |  j d |  j |  _ |  j j |  j |  |  _ d  |  _ |  j! | |  d |  _" nP g  |  j D] } | j |  ^ q|  _ |  j# |  | j$ d k rAt |  _" n  |  S(   Ni   Rq   RO  R  R}   RF  (%   R  t   analysedR   RO  Re  R   Ro  R   t
   is_cmethodRP  RF   R+  R   R   t   is_numpy_call_with_exprsR6   Rk  R;   R  Rf   Rq   R  R9   R   t   add_include_fileR<   t   NumPyMethodCallNodeRi  R>   R3   RX   RN  RB   R  R   R  R  (   RF   RZ   RO  R  t   has_pythran_argsRm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     sN    								(c         C@  s%   |  j  j } | j r! | j } n  | S(   N(   RO  R}   R&  R'  (   RF   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	c         C@  sA  |  j  j } | t k r% t |  _ d  S| j rn | j rn |  j rb |  j j j rb t |  j d  n  |  j	 } n( |  j r |  j g |  j	 } n	 |  j	 } | j
 r |  j  j j j d  } | d  k r0t j |  _ d |  _ d  SnQ t |  j  d  r |  j  j } n0 |  j  j r*|  j  j r*|  j  j j } n d  } | r|  j  j j rv|  j  j j   } g  | D] } | j ^ q^} n | j   } t j g  | D] } | j ^ q| |  j | |  }	 |	 st j |  _ d |  _ d  St |	 _ | j
 s|	 |  j  _ n  |	 j |  j  _ |  j   } nH d  }	 |  j   } | j s\t |  j d |  t j |  _ d |  _ d  St | j	  }
 |
 | j } t |  } | j r| | k rd |  _ d |  _ n  |	 r|	 j r| j	 r| j r| j	 d } | d } | j  rn|  j rG|  j j! d j" t |	 j#  d	 k r#d
 n d  d d d |	 j# g |  _ qn| j! d d |	 j# | j j# g } n  |  j r| j$ rt% |  j  } n t& |  j  } | j' | j |  } |  _( nK | j j) r| j' | j |  } | j j) rt* | t+  rt, | _- qn  | | d <n  t, } x t. t/ |
 |   D] } | j	 | } | j } | | j' | |  } | j  r| j! d  } n  | j r| d k rt } qnj | j j0 r| j1 r| d k r|  j d  k	 rq| j2   rq| d k rt } n  | j3 |  } n  | | | <q4Wx t. |
 |  D] } | | } | j j0 r| j t4 k rat j5 } n | j j6   } | d  k rt |  j	 | j d  q| j' | |  | | <} n  | j r*| d k r*t } q*q*W| rx t. | d  D] } | d k r|  j d  k	 rqn  | | } | j2   r,q| j j
 r;q| j1 rS| j j0 rSq| d k sz| d k r|  j d  k	 rt7 | j d d  PqqWn  | |  j	 (t* |  j  t8  rt j9 |  j  j:  |  _ n | j; |  _ |  j  j< s|  j  j= r&|  j  j } | r&| j> s| j? r&d |  _ q&n  |  j j0 rGt@ |  _A d |  _ n< | jB d  k	 s_| jC rkd |  _ n |  j jD rd |  _ n  |  j r|  j jE rt jF |  j jG  |  _ n  | j1 |  _1 |  j1 r| jC r| jC d k r| jH tI  n  | jC d k r-| jB d  k r-| jH tJ jK d d   q-n  | jL d |  _M d  S(   Ns4   Cannot call a static method on an instance variable.s
   operator()s   <error>R   s   Calling non-function type '%s'i   i    s*   'NoneType' object has no attribute '%{0}s'i   s   .30R  R   t   PyExc_AttributeErrorRc  s@   descriptor '%s' requires a '%s' object but received a 'NoneType'sG   cannot pass None into a C function argument that is declared 'not None's5   Python object cannot be passed as a varargs parametersT   Argument evaluation order in C function call is undefined and may not be as expectedRF  R  s   CppSupport.cppt   overflowcheck(N   RO  R}   R(   R   t   is_static_methodRF   R  R   Rf   Rq   R=  R  R  RB   R   R  R   R   Rp  R1  R%  R(  R  R  R   R*  R   Rm   t   optional_arg_countt   has_optional_argsR   R  t   not_noneRd  t   formatRY   t   accept_builtin_subtypest   CMethodSelfCloneNodeR+  R.  R  R  Rc   R<  R   t   exact_builtin_typet   ranget   minRX   R   R   R]  R   RT   t   default_coerced_ctypeR   R  R  R  R  Rk  Ro  R0  t   utility_code_definitionR   R   R   R  R   R!  t   CFakeReferenceTypeR"  R2  t#   pyerr_occurred_withgil_utility_codeR   R8  RR   R  (   RF   RZ   R  Rq   t   overloaded_entryt	   functypest   fR  Rm  R   t	   max_nargst   expected_nargst   actual_nargst
   formal_argt   some_args_in_tempsR  t   formal_typet	   arg_ctypeR  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s"   					.						"
			*						


'
			c         C@  s
   |  j    S(   N(   t   c_call_code(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s  |  j    } |  j t j k s( | j r, d S| j } g  } t t | |  j   } t | j  } | | j	 } t |  j  } x7 | |  D]+ \ } }	 |	 j
 | j  }
 | j |
  q W| j r | j t t |  j p |  j j j    n  | j	 r*| | k rd } n d |  j } | j |  n  x. |  j t |  D] }	 | j |	 j    q>Wd |  j j   d j |  f } | S(   Ns   <error>R  s   &%ss   %s(%s)s   , (   R   R}   R   R(   R   Rq   R   R!  Rm   R  R   R   R  R^   R  t   wrapper_callRO  R   t   is_unbound_cmethodt   opt_arg_structR   R<  (   RF   R  t   formal_argst   arg_list_codeRq   R  R   R!  R"  t
   actual_argt   arg_codet   optional_argsR   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR&    s.    		.		"c         C@  s-   |  j    } | j s% | j d k r) t St S(   NRF  (   R   R   R  R   R   (   RF   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s2  |  j  } | j s | j r1 | j j | j  n  | j j sn t |  j	 j
  d k sn |  j	 j
 r |  j	 j r t t |   j |  d  S|  j	 j
 r |  j	 j
 d n d  } |  j |  j | | f } x* | D]" } | d  k	 r | j |  q q W| j |  j  |  j st  |  j |  | d  k r| j j t j d d   | j d |  j   | j   | j |  j   |  j  f  n` | j j t j d d   | j d |  j   | j   | j   | j |  j   |  j  f  | j |  j    x7 | D]/ } | d  k	 r| j |  | j  |  qqWd  S(   Ni   i    t   PyObjectCallNoArgs   ObjectHandling.cs%   %s = __Pyx_PyObject_CallNoArg(%s); %st   PyObjectCallOneArgs*   %s = __Pyx_PyObject_CallOneArg(%s, %s); %s(!   RO  Rk  Ro  R1  t   use_entry_utility_codeR   R}   RX   Rm   R  Rq   R   RC   RV  R  RB   RF   R  R  Rf   R   R   R   R2  R   R8  R   R   R   R   R  R  R  (   RF   R   RO  Rm  R   t   subexpr(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    sH    	%"		#			 c         C@  sJ  |  j    } | j r |  j j   } | j j t j d d   | j d |  j	   |  j
 j   | | j |  j	   |  j  f  | j |  j    n| j rF|  j rt |  j  } t | j  | j } | j j | j j d t |  _ | j d |  j t j d t |  j  | f  t t | j |  j   } xS | | | !D]A \ } } | j d |  j | j | j  | j | j   f  qIWn  g  }	 |  j  j r|  j! r|	 j" d |  j	    n |  j  j# r|  j! st$  |	 j" |  j  j% |  j	     n | j& d k r| j' }
 | j& } |
 d  k	 r\|	 j" d	 |  j	   | j) j* |
  f  n  | r|  j+ r{|	 j" d
  q|	 j" d  qn  |  j! s|	 r$|  j,   } |  j	   rd |  j	   } |  j! r|  j  j rt- t. |  j  |  } qn d } | j& d k rQt/ | |  j d | | f |  j  j r;|  j	   n d  | j' |  j+  n |  j0 r|  j  j1 r|  j  j2 r|  j
 j	   d k rd |  j	   | j3 |  j  f } n- |	 r| j4 d j5 |	  |  j  } n d } | j d | | | f  |  j  j r$|  j	   r$| j |  j    q$n  |  j rF| j j6 |  j  qFn  d  S(   NR  s   ObjectHandling.cs*   %s = __Pyx_PyObject_Call(%s, %s, NULL); %sR   s   %s.%s = %s;t   ns   !%sRF  s   %s == %ss   __Pyx_ErrOccurredWithGIL()s   PyErr_Occurred()s   %s = R  s   %s%s;t   abst   labst   __Pyx_abs_longlongsV   if (unlikely(%s < 0)) { PyErr_SetString(PyExc_OverflowError, "value too large"); %s; }s    && s   %s%s; %s(   R4  R5  R6  (7   R   RX   R  R   R1  R2  R   R8  R   R   RO  R   Rf   R  R   R  Rm   Rq   R  R   R   t   op_arg_structR'  R   R)  R   t   pyrex_prefixR   R!  t   opt_arg_cnameRY   R   R}   R   R   R   R   t   error_conditionR  R   RB   R  t	   cast_codeR   R&  R'   R   R   R  R8  R  R   R   R<  R   (   RF   R   R  R-  R!  R   Rq   R"  R,  t
   exc_checkst   exc_valt	   exc_checkRn   R  t
   goto_error(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    		 				
	"		,		"!	N(   RH   RI   R   RB   RF   R  R  R   R'  R  R   R  R  R   R   R  R   R   R  R   R&  R   R  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRV  ^  s(   				/						.R
  c           B@  s)   e  Z d  d g Z e Z e Z d   Z RS(   RO  R  c         C@  s   | j  |  j  |  j |  |  j j |  |  j j d  k sE t  |  j j	 } x | D] } | j |  qX W| j
 d  | j
 d |  j    | j
 d |  j   |  j   t |  j  d j d   | D  f  d  S(   Ns.   // function evaluation code for numpy functions   __Pyx_call_destructor(%s);s!   new (&%s) decltype(%s){%s{}(%s)};s   , c         s@  s   |  ] } | j    Vq d  S(   N(   R   (   RK   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>Y  s    (   R  Rf   R   RO  R  R  R   RB   R   Rq   R   R   R=   R<  (   RF   R   Rq   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  I  s    			(   RH   RI   R   R   R   R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR
  ?  s   t   PyMethodCallNodec           B@  s#   e  Z d  d g Z e Z d   Z RS(   RO  R  c         C@  s  | j  |  j  |  j |  |  j j |  |  j j d  k sE t  |  j j	 } x | D] } | j |  qX W|  j j
 } | r |  j j   } nh | j j t d t } |  j j |  | j d | |  j j   f  |  j j |  |  j j |  | j j t d t } | j d |  d  } t |  d k rk| j j t j d t } | j d |  n  d   } |  j j r| |  j  rd n d }	 n~ |  j j r|  j j rxc |  j j D]F }
 |
 j } | r| j r| j j j  r| |  r	d }	 Pq	qqWd }	 n d }	 | j d	 |	 | f  | j d
 | | f  | j d |  | j d |  | j! | t  | j! d t  | j" | d  t |  d k r| j d |  n  | j d  | j d  | s| j# j$ t% j& d d   | j# j$ t% j& d d   | j d |  j   | | | | f  | j' | t  | j j( |  | j | j) |  j   |  j   | j* |  j    nt |  d k r| j# j$ t% j& d d   | j# j$ t% j& d d   | d } | j d |  j   | | | | j   | | j   f  | j' | t  | j j( |  | j |  | j |  | j | j) |  j   |  j   | j* |  j    n| j# j$ t% j& d d   | j# j$ t% j& d d   x-d, d- g D]\ } } | j d | j+    | j d | | f  | j d t, j- t |  d | d  j. d!   | D  f  | j d" |  j   | | t, j- | t |  | | j) |  j   |  j  f  | j' | t  | j* |  j    x | D] } | j |  qW| j d#  | j d$  qW| j d%  | j j t d t } | j d& | t |  | | j) | |  j  f  | j* |  t |  d k r| j d' |  n  | j d( | | | | f  | j j( |  t |  d k r| j d  n  x] t/ |  D]O \ } } | j |  | j0 | j    | j d) | | | | j   f  qWt |  d k r\| j j( |  n  x( | D]  } | j1 |  | j |  qcW| j# j$ t% j& d* d   | j d+ |  j   | | | j) |  j   |  j  f  | j* |  j    | j2 | t  | j j( |  t |  d k r0| j d  n  | j d  | rf|  j j |  |  j j |  n  | j2 | t  | j j( |  d  S(.   NR   s	   %s = %s; s
   %s = NULL;i   s   %s = 0;c         S@  s&   |  j  } | j r" | j j r" t St S(   N(   RP  Rk  R   R  R   R   (   R  RP  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   attribute_is_likely_method  s    	t   likelyt   unlikelys6   if (CYTHON_UNPACK_METHODS && %s(PyMethod_Check(%s))) {s   %s = PyMethod_GET_SELF(%s);s   if (likely(%s)) {s/   PyObject* function = PyMethod_GET_FUNCTION(%s);RO  s   %s = 1;R   R/  s   ObjectHandling.cR0  sM   %s = (%s) ? __Pyx_PyObject_CallOneArg(%s, %s) : __Pyx_PyObject_CallNoArg(%s);t   PyObjectCall2Argsi    sU   %s = (%s) ? __Pyx_PyObject_Call2Args(%s, %s, %s) : __Pyx_PyObject_CallOneArg(%s, %s);t   PyFunctionFastCallt   PyCFunctionFastCallt   PyFunction_Checkt   Pyt   __Pyx_PyFastCFunction_Checkt   PyCs   #if CYTHON_FAST_%sCALLs   if (%s(%s)) {s   PyObject *%s[%d] = {%s, %s};s   , c         s@  s   |  ] } | j    Vq d  S(   N(   R   (   RK   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>  s    s6   %s = __Pyx_%sFunction_FastCall(%s, %s+1-%s, %d+%s); %ss   } elses   #endifR  s   %s = PyTuple_New(%d+%s); %ss	   if (%s) {s:   __Pyx_GIVEREF(%s); PyTuple_SET_ITEM(%s, 0, %s); %s = NULL;s    PyTuple_SET_ITEM(%s, %d+%s, %s);R  s*   %s = __Pyx_PyObject_Call(%s, %s, NULL); %s(   RG  RH  (   RI  RJ  (3   R  Rf   R   RO  R  R  R   RB   R   Rq   R   R   R   R   R   R   R  R  R   R  R  R   Rm   R   R  R   Ro  Rk  Rl   Rn   RP  R}   RX   R  RQ  R1  R2  R   R8  t   put_xdecref_clearR   R   R  t   upperR   t   quick_temp_cnameR<  R  RS  R  R  (   RF   R   Rq   Rm  t   reuse_function_tempRO  t   self_argt   arg_offset_cnameRA  t   likely_methodR&  R   t	   test_funct   call_prefixt
   args_tupleR  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  f  s    					"		
"						 					 (   RH   RI   R   R   R   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR@  \  s   t   InlinedDefNodeCallNodec           B@  sG   e  Z d  d g Z d Z e Z d Z d Z d   Z	 d   Z
 d   Z RS(   Rq   t   function_namei   c         C@  sU   |  j  j } | j s | j r" t St | j  t |  j  k rD t S| j rQ t St S(   N(	   RO  t   def_nodet   star_argt   starstar_argR   Rm   Rq   t   num_kwonly_argsR   (   RF   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   can_be_inlined$  s    	c         C@  s  |  j  j |  |  _  g  |  j D] } | j |  ^ q |  _ |  j j } t |  j  } t } x t |  D] } | j | j } |  j | j	 | |  } | j
 r | d k rt } qnL | j j r| j r| j   r q| d k r t } n  | j |  } n  | |  j | <qk W| rx t | d  D]l } |  j | } | j   rQq/| j j r`q/| j rx| j j rxq/| d k r/t | j d d  Pq/q/Wn  |  S(   Ni    i   sT   Argument evaluation order in C function call is undefined and may not be as expected(   RV  R   Rq   RO  RW  Rm   R   R  R}   R.  R   R   RX   R   R   R]  R=  R   Rf   (   RF   RZ   Rm  R  R!  R#  R  R$  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   .  s>    (		c         C@  s   |  j  j   g } |  j j } x^ t |  j | j  D]G \ } } | j j rh | j | j	 | j   q4 | j | j
    q4 Wd j |  } | j d |  j
   |  j j j j | | j |  j
   |  j  f  | j |  j    d  S(   Ns   , s   %s = %s(%s); %s(   RV  R   RO  RW  R!  Rq   R}   RX   R   R   R   R<  R   R   t   pyfunc_cnameR   Rf   R  (   RF   R   R-  R  Rm  t	   proto_arg(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  g  s    "	 N(   RH   RI   R   R   R   R}   RB   RO  RV  R[  R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRU    s   	
	9t   PythonCapiFunctionNodec           B@  s5   e  Z g  Z d d   Z d   Z d   Z d   Z RS(   c         C@  s,   t  j |  | d | d | d | d | d  S(   NRY   R   R}   R0  (   R   R  (   RF   Rf   t   py_nameR   R  R0  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  |  s    c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s#   |  j  r | j j |  j   n  d  S(   N(   R0  R1  R2  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    	c         C@  s   |  j  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    N(   RH   RI   R   RB   R  R   R	  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^  y  s
   		t   PythonCapiCallNodec           B@  s   e  Z e Z d d d   Z RS(   c         K@  sM   | j  |  _ |  j |  _ t | | | | d | |  _ t j |  | |  d  S(   NR0  (   R  R}   R   R^  RO  RV  R  (   RF   Rf   RV  R  R0  R_  Rf  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    N(   RH   RI   R   R  RB   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR`    s   t   CachedBuiltinMethodCallNodec           B@  s5   e  Z d  d g Z e Z d   Z d   Z d   Z RS(   RP  Rq   c         C@  sA   t  t |   j | j d | d | d | d | j d | j d  S(   NRP  R   Rq   R  R}   (   RC   Ra  R  Rf   R  R}   (   RF   t	   call_nodeRP  R   Rq   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s
    		c         C@  s#   |  j  d  k	 r |  j  St j |   S(   N(   R  RB   R   R_  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_    s    c         C@  s   |  j  j j } |  j  j   } g  |  j D] } | j   ^ q( } | j j | | |  j |  } | j d |  j	   | | j
 |  j	   |  j  f  | j |  j	    d  S(   Ns   %s = %s; %s(   RP  R}   R   R   Rq   R1  t   cached_unbound_method_call_codeR   R   R   R   Rf   R  (   RF   R   t
   type_cnamet	   obj_cnameRm  Rq   t	   call_code(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    "		 (   RH   RI   R   R   R   R  R_  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRa    s
   		t   GeneralCallNodec           B@  sS   e  Z e Z d  d d g Z e j Z d   Z d   Z	 d   Z
 d   Z d   Z RS(   RO  R  R  c         C@  sn   |  j  j |  } |  j j |  } |  j j |  } y | | |   SWn  t k
 ri } |  j |  n Xd  S(   N(   RO  R   R  R  R  R   (   RF   R   RO  R  R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  sK   |  j  r |  j  j s# |  j j r8 t |  j d   n  |  j j |  j  f S(   Ns0   Compile-time keyword arguments must be explicit.(   R  Rl  R  Rj   R   Rf   Rq   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s
    	c         C@  s_  |  j  |  r |  S|  j j |  |  _ |  j j j s |  j j j rS t |  _ |  St |  j d  r |  j   } | d  k	 r | |  k	 r | j |  S|  j j
 j r |  j j |  |  _ q | |  k r t |  j d  q q |  j j |  |  _ n  |  j r|  j j |  |  _ n  |  j j |  |  _ |  j j |  |  _ |  j |  j  d |  _ |  S(   NR   sR   Non-trivial keyword arguments and starred arguments not allowed in cdef functions.i   (   R  RO  R   R}   RX   R2  R(   R   t   map_to_simple_call_nodeRB   R   R  RN  R   Rf   R  R  R  R   (   RF   RZ   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s2    		
		c         C@  s  t  |  j t  s |  S|  j j s& |  S|  j } t | d d  } | sK |  S| j } | j	 ri | j
 } n  | j sv |  S|  j j } |  j } | j } | j r | d } n  t |  t |  k r t |  j d t |  t |  f  d St g  | t |   D] } | j r | j ^ q  } | t |  }	 d }
 t |  } t |  } t } xS | j D]H } | j j } | | k rt | j d |  t } n  | j |  q_Wxf t |	 | j  D]R \ } } | j j } | j | k r| j |  |
 d 7}
 | j | j  qPqWd d l m } m } g  } t | j  |
 k rV| t |  }	 t g  t  | j  D]. \ } } | j j | t |  | f f ^ qh } d } x |	 D] } | j } | | k r| s| } qqn+ | r| j! r|  St |  j d |  d S| | \ } } | j |  |
 d 7}
 | j j"   rP| j | j  q| | j  } | j"   sqt#  | j |  | j | | f  qW| rVg  } g  } | d d } x` | D]X } | | k rPn  | j"   r| j |  q| |  } | j |  | j |  qW| r'| } n  | g  t$ |  D] \ } } | ^ q7} qVn  xF | j D]; } | j j } | | k r`t } t | j d	 |  q`q`W| rd St% |  j d
 | d | } x* | d d d  D] } | | |  } qW| S(   s   
        Tries to map keyword arguments to declared positional arguments.
        Returns self to try a Python call, None to report an error
        or a SimpleCallNode if the mapping succeeds.
        R   i   sD   function call got too many positional arguments, expected %d, got %si    s   argument '%s' passed twice(   R  t
   LetRefNodes(   C function call is missing argument '%s'is/   C function got unexpected keyword argument '%s'RO  Rq   N(&   Rc   R  R  R  Rl  RO  R   RB   R}   R&  R'  R   Rq   R  Rm   R   Rf   Ru   RY   R   R   R  R  R   R   t   addR!  R   R  R  Ri  R   R  R  R^  R   t   sortedRV  (   RF   RO  R   R   t   pos_argsRf  t   declared_argsRm  t   matched_argst   unmatched_argst   matched_kwargs_countRq   t   seent
   has_errorsRY   t   decl_argR  Ri  t   tempsR  t   keywordst   first_missing_keywordRf   t   tempt
   final_argst	   new_tempst   first_temp_argt	   arg_valueRh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRh    s    									
D			
	/	c      	   C@  s   |  j  j r d  S|  j r+ |  j j   } n d } | j j t j d d   | j d |  j	   |  j
 j   |  j j   | | j |  j	   |  j  f  | j |  j    d  S(   NR  R  s   ObjectHandling.cs(   %s = __Pyx_PyObject_Call(%s, %s, %s); %s(   R}   R2  R  R   R1  R2  R   R8  R   R   RO  R  R   Rf   R  (   RF   R   Rf  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s     		 (   RH   RI   R   R}   R   R#   R   R   R   R  R   Rh  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRg    s   					 	t   AsTupleNodec           B@  sS   e  Z d  g Z d Z d   Z d   Z d   Z d   Z e j	 Z
 d Z d   Z RS(   Rm  i   c         C@  s   t  |  j j  |  _ d  S(   N(   R   Rm  Rd   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  sG   |  j  j |  } y t |  SWn  t k
 rB } |  j |  n Xd  S(   N(   Rm  R   R   R  R   (   RF   R   Rm  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s
    c         C@  sM   |  j  j |  j |  |  _  |  j  j t k r@ |  j  j d  St |  _ |  S(   Ns!   'NoneType' object is not iterable(   Rm  R   RN  R}   R   Rd  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s
    	c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_    s    s   Constructing Python tuplec         C@  s|   |  j  j t t f k r d n d } | j d |  j   | |  j  j   | j |  j   |  j  f  | j	 |  j    d  S(   Nt   __Pyx_PySequence_Tuplet   PySequence_Tuples   %s = %s(%s); %s(
   Rm  R}   R   R   R   R   R   R   Rf   R  (   RF   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    $	 (   RH   RI   R   R   R   R   R   R_  R#   R   R   R  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR|    s   						t   MergedDictNodec           B@  sq   e  Z d  g Z d Z e Z e Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z d Z d	   Z d
   Z RS(   R  i   c         C@  s   i  } |  j  } x |  j D]z } | j r> d   | j D } n | j j   } xC | D]; \ } } | r | | k r t d |   n  | | | <qT Wq W| |  _ d  S(   Nc         s@  s'   |  ] \ } } | j  | j  f Vq d  S(   N(   Rd   (   RK   R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>  s   s$   duplicate keyword argument found: %s(   t   reject_duplicatesR  Rl  R  Rd   t	   iteritemsRr   (   RF   R   R  Rz   R  R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    		c   	      C@  s   i  } |  j  } x |  j D] } | j re g  | j D]* \ } } | j |  | j |  f ^ q2 } n | j |  j   } yJ xC | D]; \ } } | r | | k r t d |   n  | | | <q WWq t k
 r } |  j |  q Xq W| S(   Ns$   duplicate keyword argument found: %s(	   R  R  Rl  R  R   R  Rr   R  R   (	   RF   R   R   R  Rz   R  R   R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    		:c         C@  s   d S(   N(    (    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   t  S(   N(   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk     s    c         C@  s   g  |  j  D]' } | j |  j |  j d  ^ q
 } t |  d k r | d j t k r | d } | j r | j j	 r t | j j
  d k r t | _ n  | S| |  _  |  S(   Ns1   argument after ** must be a mapping, not NoneTypei   i    (   R  R   RN  Rd  Rm   R}   R   Rk  R   R)  t   cf_assignmentsR   R;  (   RF   RZ   Rm  Rq   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    4%
-	c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_    s    s   Constructing Python dictc         C@  s  | j  |  j  |  j |  t |  j  } t |  } | j |  | j t k	 rn | j	 d | j
    n  | j r | j |  | j	 d |  j   | j
   f  | j |  n[ | j	 d |  j   | j
   | j |  j   | j  f  | j |  j    | j |  | j t k	 r| j	 d  | j	 d |  j   | j
   | j |  j   |  j  f  | j |  j
    | j |  | j	 d  n  | j |  t   } x| D]} | j rx| j D] } | j |  |  j rZ| j	 d |  j   | j j
   f  | j d  | j	 d	 | j j
   | j |  j  f  | j	 d  n  | j | j j d
 |  j   | j j
   | j j
   f  | j |  | j |  qWq| j |  |  j r| j d  | j | j d |  j   | j
   f  nm | j d  | j	 d |  j   | j
   f  | j	 d | j
    | j	 | j | j   | j	 d  | j |  | j |  qWx0 t |  D]" } | j j t j | d   qWd  S(   Ns$   if (likely(PyDict_CheckExact(%s))) {s   %s = %s;s   %s = PyDict_Copy(%s); %ss   } else {sH   %s = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, %s, NULL); %sR   s(   if (unlikely(PyDict_Contains(%s, %s))) {t   RaiseDoubleKeywordss2   __Pyx_RaiseDoubleKeywordsError("function", %s); %ss   PyDict_SetItem(%s, %s, %s)t   MergeKeywordss   __Pyx_MergeKeywords(%s, %s)t   RaiseMappingExpecteds*   if (unlikely(PyDict_Update(%s, %s) < 0)) {sV   if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseMappingExpectedError(%s);s   FunctionArguments.c(    R  Rf   R   R  R  R  R  R}   R   R   R   Rl  R  R   R  R   R  R  R  Ru   R  R  R  Rj  R   R  R   Rk  R1  R2  R   R8  (   RF   R   Rq   Rz   t   helpersRm  t   helper(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    		#			 			 										c         C@  s%   x |  j  D] } | j |  q
 Wd  S(   N(   R  R  (   RF   R   Rz   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  `  s    (   RH   RI   R   R   R   R}   R   R  R   R   R   Rk   R   R_  R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   								ORW  c           B@  sp  e  Z d  Z d g Z e j Z d" Z d Z	 e
 Z e Z e Z d Z d   Z d   Z d   Z d   Z d   Z d   Z d	   Z d
   Z d d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d" d  Z  d" e d  Z! d   Z" d   Z# d Z$ d   Z% d   Z& d   Z' d   Z( d   Z) d   Z* d   Z+ e d" d" d  Z, e d   Z- d!   Z. RS(#   i   RP  i    c         C@  s_   t  |  j t  r5 |  j j r5 |  j d k r5 |  j S|  j j   } | r[ d | |  j f Sd  S(   Nu   parallels   %s.%s(   Rc   RP  R-  R"  RQ  R`  RB   (   RF   t   cy(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR`    s    c         C@  si   | t  k rV |  j } | rV | j rV | j rV d |  _ | j |  _ |  j |  |  Sn  t j |  | |  S(   Ni   (   R   R   R   R  R   t   analyse_as_python_attributeR   R.  (   RF   RC  RZ   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.    s    		c         C@  sG   |  j  } | j d  r+ | j d  r+ d  St |  j j |  |  _ d  S(   Nt   __(   RQ  t
   startswitht   endswithR   RP  Rd   (   RF   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	c         C@  s   |  j  } | j d  r? | j d  r? t |  j d |  d  S|  j j |  } y t | |  SWn  t	 k
 r } |  j
 |  n Xd  S(   NR  s6   Invalid attribute name '%s' in compile-time expression(   RQ  R  R  R   Rf   RB   RP  R   R   R  R   (   RF   R   R  RP  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    		c         C@  s   |  j  j |  S(   N(   RP  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   |  j  | d t } | d  k	 r+ | j j S|  j |  } | d  k	 rP | j j S|  j j |  } |  j | d | | j	 r |  j j
 r t S|  j r |  j j r t S|  j S(   Nt   targett   obj_type(   t#   analyse_as_cimported_attribute_nodeR   RB   R   R}   t   analyse_as_type_attributeRP  Rk   t   analyse_attributeR  R   R   R  (   RF   RZ   Rh   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk     s    

c         C@  s   d  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  se   |  j  | d d } | j j r; t |  j d |  j  n  | j   sa t |  j d |  j  n  | S(   NR  i   s"   Assignment to const attribute '%s's%   Assignment to non-lvalue of type '%s'(   R   R}   R#  R   Rf   RQ  R   (   RF   RZ   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   | j  d |  _ |  j | |  } | d  k rG | rG |  j |  } n  | d  k rz |  j | |  } | d  k	 sz t  n  | j r t | j _	 n  | j
 r | j |  n  | S(   NR  (   RR   R  R  RB   R  t"   analyse_as_ordinary_attribute_nodeR   R   R   R*  Ro  t   wrap_obj_in_nonecheck(   RF   RZ   R  Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    		c         C@  s   |  j  j |  } | r | j |  j  } | rg | j sT | j sT | j sT | j rg |  j | | |  S|  j	 |  r t
 |  j d |  j  |  Sn  d  S(   Ns&   cimported module has no attribute '%s'(   RP  R   R  RQ  R,  R   R  R#  t   as_name_nodeR$  R   Rf   RB   (   RF   RZ   R  t   module_scopeR   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    c         C@  s{  |  j  j r d  S|  j  j |  } | rw| j sC | j sC | j r| j j |  j  } | rt| j	 s| | j rt| j
 j rt| j r |  j s d  S| } n&| j r`t | j
 d  r`| j } | j
 j s | j r | j j r | j
 } q| j rt |  j d | j | f  t j } qt j | j
  } | j | _ t j d | d d   | j d <n d | j | j f } | j
 } t j | j | |  } d | _ | j | _ d | _ | j | _ |  j  | | d t! Sqw| j" rw|  j | j# k rTxy | j$ j% D]. } | j |  j k r|  j  | | d t! SqWt |  j d |  j | f  qtt |  j d |  j | f  qwn  d  S(	   NR7  s   %s not a static member of %sRF   i    s   %s->%si   R  s   %s not a known value of %s(&   RP  Rn  R   R  R  R=  R  R  RQ  R  R}   R   Re  RB   t
   func_cnameR   R  t   parent_scopet   is_cpp_class_scopeR   Rf   RY   R   R(   R  Rq   R  t   vtabptr_cnameR   R   R!  R(  R  R   RS  R  R   t   enum_values(   RF   RZ   R}   R   t
   ubcm_entryR   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    sL    $					"				 #c         C@  s   |  j  j |  } | r( | j |  j  S|  j  j s |  j  j |  } | r t | d  r | j d  k	 r | j j |  j  Sn  d  S(   NR  (	   RP  R   t   lookup_typeRQ  Rn  R   R   R  RB   (   RF   RZ   R  R'  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR      s    $c         C@  sb   |  j  j |  } | r^ | j |  j  } | r^ | j r^ | j j sQ | j j r[ | j Sq^ n  d  S(   N(	   RP  R   R  RQ  R  R}   R  R  RB   (   RF   RZ   R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   *  s    c         C@  sG   |  j  j |  } | rC | j |  j  } | rC | j rC | j Sn  d  S(   N(   RP  R   R  RQ  R  RB   (   RF   RZ   R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   5  s    
c         C@  sU   t  j |  d |  j d | } | r6 | j |  } n | j |  } d | j _ | S(   NRY   R   i   (   R-  Ri  RQ  R   R  R   R*  (   RF   RZ   R   R  Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ?  s    c         C@  s   |  j  j |  |  _  |  j |  |  j rD |  j j rD |  j rD n  |  j rk | s d |  _ t |  _	 q n( | r |  j  j
 j r t |  j d  n  |  S(   Ni   s'   Assignment to an immutable object field(   RP  R   R  R   R  Re  t
   is_py_attrR   R   R   R}   R  R   Rf   (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  J  s    		c         C@  s{  | d  k	 } d |  _ |  j |  _ | d  k rr |  j j j sK |  j j j rc |  j j |  |  _ n  |  j j } n | j s | j r t	 } n  | j
 s | j r | j } d |  _ nE | j s | j r d |  _ n' | j r | j r d |  _ n	 d |  _ | j rd| j   r| j j |  j  } | j r| r|  j d k r|t |  _ t |  _ t |  _ |  j j j |  j  |  _ d  S| j |  j | |  j  | j j |  j  } n  | r| j rd  } qn$ t |  j d |  t  j! |  _ d  S| |  _" | rd| j r&| j# d k r&t |  j d  n  | j$ r9| j% sB| j& ra| j |  _ | j' |  _ d  Sqdn  |  j( | | |  d  S(   Ni    s   ->t   .t   Ts/   Cannot select attribute of incomplete type '%s't   __weakref__s,   Illegal use of special attribute __weakref__()   RB   R  RQ  R  RP  R}   R
  R  RN  R   R&  R   R'  Rz  R  R  R!  t   is_fake_referencet   has_attributest   attributes_knownR  R  R   R   t   is_memslice_transposeR   R   t	   transposeRf   t   declare_attributeRJ  R   R   R(   R   RY   R  R  R  R   R  (   RF   RZ   R  t   immutable_objR   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ]  s\    										c         C@  sj  | d  k r |  j j } n  | j |  j  |  _ |  j |  _ t |  _ d |  _ | j rf| j	 rf| j
 s | j s | j s | j s | j s | j r | j |  s | j r | j |  r | sc|  j j |  |  _ qcqf| j rF|  j j s|  j j rF|  j j j rF|  j j j j j rF| sc|  j j |  |  _ qcqft |  j d | |  j f  n  d  S(   Ni   s)   Object of type '%s' has no attribute '%s'(   RB   RP  R}   t   mangle_class_private_nameRQ  R  R   R  RX   R2  R
  R  R  R   R  RX  t   can_coerce_to_pyobjectt	   is_structRN  R   Rk  Ro  R   R  R   Rf   (   RF   RZ   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s,    			!	c         C@  s   | j  d s d  Sd  } d
 } |  j j j rx |  j rx |  j rx d j t |  j	  d k r` d n d  } |  j	 f } nZ |  j j j
 r |  j r d } q |  j j j j |  j	  } | r d } | j f } q n  | r |  j j | d d	 | |  _ n  d  S(   NR/  s*   'NoneType' object has no attribute '%{0}s'i   s   .30R  s&   Cannot transpose None memoryview slices5   Cannot access '%s' attribute of None memoryview sliceR  Rc  (    (   RR   RB   RP  R}   R  t   needs_none_checkR  R  Rm   RQ  R   R  R  R  RY   Rd  (   RF   RZ   RH  Rc  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s$    
*		c         C@  s   |  j  r |  j   n  d  S(   N(   R  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	s   Accessing Python attributec         C@  s   |  j  j |  S(   N(   RP  R$  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR$    s    c         C@  s3   |  j  r" |  j   p! |  j  j   St j |   Sd  S(   N(   RP  R   R^  R-  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^    s    	c         C@  s   |  j  r t St j |   Sd  S(   N(   RP  R   R-  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	c         C@  s'   |  j  r |  j  j   St j |   Sd  S(   N(   RP  R   R-  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	c         C@  s:  |  j  } | j | j  } |  j r |  j j r | j j r |  j j r |  j j r_ |  j j S|  j j r} |  j j	 |  _
 n  d | j j | |  j | j j |  j
 f S|  j r |  j
 Sd  S| j j r d |  j
 j   | f S| j j r|  j r|  j j r| j j | j   d t } n  d | |  j |  j
 f Sd  S(   Ns   ((struct %s *)%s%s%s)->%ss   __Pyx_C%s(%s)t   to_object_structs   %s%s%s(   RP  R   R}   R   R  R  t   is_builtin_cmethodt   final_func_cnamet
   from_fusedR   R  t   vtabstruct_cnameRz  t   vtabslot_cnameR   R?  RL  R  R  R;  R   R   (   RF   RP  t   obj_code(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s&    	
	!!c      	   C@  s  |  j  r |  j r7 | j j t j d d   d } n" | j j t j d d   d } | j d |  j   | |  j j	   | j
 |  j  | j |  j   |  j  f  | j |  j	    nA|  j j r|  j rx: |  j j D], \ } } | d k r t |  j d  d  Sq W| j d	 |  j   |  j j   f  | j |  j   d
 t d } | j | j | |  j   |  j   q |  j r | j d |  j   | j |  j  f  q nI |  j j r|  j j j rn+ |  j r |  j j r | j j |  j  n  d  S(   Nt   PyObjectLookupSpecials   ObjectHandling.ct   __Pyx_PyObject_LookupSpecialt   PyObjectGetAttrStrt   __Pyx_PyObject_GetAttrStrs   %s = %s(%s, %s); %sR|  s=   Transposing not supported for slices with indirect dimensionss   %s = %s;R  s"   __pyx_memslice_transpose(&%s) == 0se   if (unlikely(!%s.memview)) {PyErr_SetString(PyExc_AttributeError,"Memoryview is not initialized");%s}(   R  t   is_special_lookupR1  R2  R   R8  R   R   RP  R   R4  RQ  R   Rf   R  R}   R   R  R  R   R  R   R   R  R   R  R   R  R1  (   RF   R   t   lookup_func_nameR  R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    sD    						 	&)	&c         C@  s|   |  j  rh |  j j rh |  j rh | j |  j   d t | j d |  j    | j d |  j    n t j	 |  |  d  S(   NR  s   %s.memview = NULL;s   %s.data = NULL;(
   R   R}   R   R  R  R   R   R   R   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  E  s    c         C@  s  |  j  j |  |  j r | j j t j d d   | j |  j d |  j  j	   | j
 |  j  | j	   f  | j |  | j |  nM|  j  j j r | j d |  j j   |  j  j |  j  j  | j |  j    f  n |  j   } |  j j rJ|  j rJ| j |  | j | j	    | j |  | j | |  j    nA |  j j rd d l m } | j | | | j   |  j |  n  |  j j s| j d | | j |  j    f  n  | j  |  | j |  |  j  j |  |  j  j |  d  S(   NR_  s   ObjectHandling.cs%   __Pyx_PyObject_SetAttrStr(%s, %s, %s)s   __Pyx_SET_C%s(%s, %s);i   (   R  s   %s = %s;(!   RP  R  R  R1  R2  R   R8  R  Rf   R   R4  RQ  R  R  R}   R?  R   R  RL  R   R   R   RX   R   R  RS  R  Rb  R   R  R  t   put_assign_to_memviewsliceR  (   RF   Rn   R   R  R  R   t   select_codeR  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  O  sF    			c         C@  s   |  j  j |  |  j s= |  j j j r d |  j j j k r | j j t	 j
 d d   | j |  j d |  j  j   | j |  j  f  n t |  j d  |  j  j |  |  j  j |  d  S(   Nu   __del__R_  s   ObjectHandling.cs!   __Pyx_PyObject_DelAttrStr(%s, %s)s+   Cannot delete C attribute of extension type(   RP  R  R  R   R  t   is_property_scopet   entriesR1  R2  R   R8  R  Rf   R   R4  RQ  R   R  R  (   RF   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  x  s    	c         C@  sZ   |  j  r d \ } } n d \ } } | j |  j t | | |  j d t |  j   d  S(   Nt   py_attrs   python attribute (%s)t   c_attrs   c attribute (%s)Rh  (   R  s   python attribute (%s)(   R  s   c attribute (%s)(   R  R  Rf   R,   R}   Rm   RQ  (   RF   R   Ri  Rj  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    	N(/   RH   RI   Ro  R   R   R(   R}   RB   R   Re  R   R  R   R  R  R  R`  R.  R   R   R   Rk   R   R   R   R  R  R   R   R   R  R  R  R  R  R   R  R$  R^  R   R   R   R	  R  R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRW  e  sR   												5	
		
		C							%	0	
(t   StarredUnpackingNodec           B@  sq   e  Z d  g Z d Z e Z d Z e Z d   Z	 d   Z
 d   Z d   Z d   Z d   Z d   Z d	   Z RS(
   R  i   c         C@  s   t  j |  | d | d  S(   NR  (   R   R  (   RF   Rf   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    c         C@  s0   |  j  s t |  j d  n  |  j j |  d  S(   Ns&   starred expression is not allowed here(   t   starred_expr_allowed_hereR   Rf   R  t   analyse_declarations(   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    	c         C@  s   |  j  j |  S(   N(   R  Rk   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk     s    c         C@  sD   |  j  s t |  j d  n  |  j j |  |  _ |  j j |  _ |  S(   Ns&   starred expression is not allowed here(   R  R   Rf   R  R   R}   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s
    	c         C@  s   |  j  j |  d  S(   N(   R  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s(   |  j  j |  |  _  |  j  j |  _ |  S(   N(   R  R   R}   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   d S(   NR  (    (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	    s    (   RH   RI   R   Rv  R   R}   R   R   R  R  R  Rk   R   R   R   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   								t   SequenceNodec           B@  s  e  Z d  d g Z d Z d Z d Z e Z d   Z	 d   Z
 d   Z e d  Z d   Z d   Z d	   Z d
   Z d   Z d   Z d e d  Z d   Z e d d d  Z e j e j e j e j d e j d  g   Z d   Z d   Z e d  Z d   Z  d   Z! RS(   Rq   R   i   c         C@  s#   g  |  j  D] } | j |  ^ q
 S(   N(   Rq   R   (   RF   R   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   compile_time_value_list  s    c         C@  s   t  |  _ g  } xa |  j D]V } | j rb |  j rD t | j d  n  t |  _ | j } t | _ n  | j |  q W| |  _ d  S(   Ns,   more than 1 starred expression in assignment(	   R   t   starred_assignmentRq   Rv  R   Rf   R   R  R   (   RF   Rq   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   replace_starred_target_node  s    					c         C@  s/   |  j    x |  j D] } | j |  q Wd  S(   N(   R  Rq   R   (   RF   RZ   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    
c         C@  s   xK t  |  j  D]: \ } } | s4 | j |  } n  | j |  |  j | <q W|  j r |  j j |  |  _ |  j j j s |  j j |  |  _ q n  d |  _ |  S(   Ni   (   R  Rq   R   RN  R   R}   R8  R   (   RF   RZ   t   skip_childrenR  Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    		c         C@  s   |  j  | k r |  S|  j s# t  t |  j  | j k rd t |  j d | j t |  j  f  n  g  t |  j | j	  D] \ } } | j
 | |  ^ qz } t |  j d | d | d t S(   NsH   trying to coerce sequence to ctuple of wrong length, expected %d, got %dRq   R}   R   (   R}   R   R   Rm   Rq   Rh  R   Rf   R!  RY  R.  R  R   (   RF   RC  RZ   Rm  R}   t   coerced_args(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   coerce_to_ctuple  s    :c         C@  sG  |  j    t d   |  j D  s' |  Sg  } g  } xx |  j D]m } | j r | r | j t | d j d | j | d t  g  } n  | j | j	  q= | j |  q= W| r | j t | d j d | j | d t  n  t
 |  j | |  j  } |  j rCt |  j d | |  j j |  d t d |  j d t } n  | S(	   Nc         s@  s   |  ] } | j  Vq d  S(   N(   Rv  (   RK   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>  s    i    Rq   R  R   t   inplaceR}   R   (   t   _flatten_starred_argsRS   Rq   Rv  R   R  Rf   R   R   R  t   MergedSequenceNodeR}   R   t
   binop_nodeRN  (   RF   RZ   Rq   R  Rm  Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   _create_merge_node_if_necessary  s(    
	/	2	c         C@  sm   g  } xV |  j  D]K } | j rN | j j rN | j j rN | j | j j   q | j |  q W| |  j  (d  S(   N(   Rq   Rv  R  Rj   R   R   R   (   RF   Rq   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    "c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  &  s    c         C@  s)  |  j  r t |  j d  n  g  |  _ g  |  _ t |  _ x t |  j  D] \ } } | j	 |  } |  j | <| j
 r | j j t  s t | j d  n  | j t k r t | _ q n  t |  j |  } | j | j |  } | | k	 r t |  _ n  |  j j |  |  j j |  qG Wt |  _ |  S(   Ns#   can't assign to multiplied sequences2   starred target must have Python object (list) type(   R   R   Rf   t   unpacked_itemst   coerced_unpacked_itemsR   t   any_coerced_itemsR  Rq   R   Rv  R}   R@  R   R   R  R.  R   R   (   RF   RZ   R  Rm  t   unpacked_itemt   coerced_unpacked_item(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   )  s*    						
	c         C@  s   |  j  |  d  S(   N(   t   generate_operation_code(   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  @  s    c      	   C@  s  | d  k r |  j   } n  d } } d  } |  j r | r |  j } | j j r | j   } t | j t  r | j d k r d | j } q | j j r d | | f } q d | f } q n  |  j t	 k rB|  j
 s |  j rB| rB| j d | t |  j  d j d   |  j D  | j | |  j  f  | j |  n%|  j j rxt |  j  D], \ } } | j d	 | | | j   f  q^Wn|  j t k rd \ }	 }
 n1 |  j t	 k rd \ }	 }
 n t d |  j   t |  j  } | j d | |	 | | | j | |  j  f  | j |  | rt j } | j d |  | d k r`| } n d | | f } | j d | | | | f  n d } x t |  D] } |  j | } | s| j   r| j | j   | j    n  | j | j    | j d |
 | | r&| r&d | | f p/| p/| | j   f  qW| rg| j d  | j d  n  | d  k	 r| j j r| j d t j | | j   | j t j |  j  f  | j t j  | j  | t!  | j d | t j f  | j d  n  d  S(   NR  i    s    * %ss    * ((%s<0) ? 0:%s)s    * (%s)s   %s = PyTuple_Pack(%d, %s); %ss   , c         s@  s   |  ] } | j    Vq d  S(   N(   R   (   RK   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>Z  s    s   %s.f%s = %s;t
   PyList_Newt   PyList_SET_ITEMt   PyTuple_Newt   PyTuple_SET_ITEMs'   sequence packing for unexpected type %ss   %s = %s(%s%s); %ss   { Py_ssize_t %s;i   s   %s * %ss   for (%s=0; %s < %s; %s++) {s   %s(%s, %s, %s);s   %s + %sR   s5   { PyObject* %s = PyNumber_InPlaceMultiply(%s, %s); %ss   %s = %s;(   R  R  (   R  R  ("   RB   R   R   R}   R8  Rc   Rd   R!   R  R   R   t   slowR   Rm   Rq   R<  R   Rf   R  RX  R  R   R   R   RM  R  R   R  R   RS  R   RX   Rb  R   (   RF   R   R  t   plaint   size_factort   c_multR   R  Rm  t   create_funct   set_item_funct	   arg_countt   countert   offset(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_sequence_packing_codeC  s    
	(							%	c         C@  s   |  j  r1 |  j  j j r1 t t |   j |  nw |  j t k rk |  j sR |  j rk t t |   j |  n= x |  j	 D] } | j
 |  qu W|  j  r |  j  j |  n  d  S(   N(   R   R}   R8  RC   R  R  R   R   R  Rq   R  R  (   RF   R   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    !	c         C@  s^   |  j  r |  j | |  n |  j | |  x |  j D] } | j |  q6 W| j |  d  S(   N(   R  t    generate_starred_assignment_codet!   generate_parallel_assignment_codeR  R  R  (   RF   Rn   R   R  R  R   Rz   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    	R}  c         C@  s  x |  j  D] } | j |  q
 W| j t k pO | j t t f k pO | j j } t |  j   d k } | r |  j | | d | n6 | j	 d  |  j
 | | |  j  d | | j	 d  x |  j D] } | j |  q Wx; t t |  j   D]$ } |  j | j |  j | |  q Wd  S(   Ni   t   use_loopR  R   (   R  R  R}   R   R   R   R  Rm   t(   generate_special_parallel_unpacking_codeR   t(   generate_generic_parallel_unpacking_codeR  R  R  Rq   R  (   RF   Rn   R   Rz   t   special_unpackt   long_enough_for_a_loopt
   value_nodeR  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s$    c         C@  s  d } d | j    } | j t k rF d g } | j   r | } q nl | j t k rv d g } | j   r | } q n< d d g } d | j    } d | j    } d | | f } | j d |  | j d	 | j     | j d
  | j d t |  j   | j j	 t
  | j d t |  j  t |  j  f  | j j	 t  | j d  | j | j |  j   | j d  | j d  t |  d k r| j d | d  n  xA t |  j  D]0 \ }	 }
 | j d |
 j   | d |	 f  qWt |  d k rk| j d  xA t |  j  D]0 \ }	 }
 | j d |
 j   | d |	 f  q'W| j d  n  x- |  j D]" }
 | j |
 j   |
 j    quW| j d  | sx9t |  j  D]T \ }	 }
 | j d |
 j   |	 | j |
 j   |  j  f  | j |
 j    qWn | j d  | j d  | j d t |  j  d j g  |  j D] }
 d |
 j   ^ qX f  | j d t |  j   | j d | j d |  j   | j d  | j d   | j d  | j d  | j d!  | j |  | d k r | j d  n | | k r| j d  | j j	 t j d" d#   | j d$ | j |  j   | j d  n6 | j d  |  j | | |  j d% | | j d  d  S(&   Nt   1s   likely(%s != Py_None)R  R  s   likely(PyTuple_CheckExact(%s))s   PyList_CheckExact(%s)s   (%s) || (%s)s	   if (%s) {s   PyObject* sequence = %s;s2   Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);s   if (unlikely(size != %d)) {s1   if (size > %d) __Pyx_RaiseTooManyValuesError(%d);s9   else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);R   s<   #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFSi   s(   if (likely(Py%s_CheckExact(sequence))) {i    s"   %s = Py%s_GET_ITEM(sequence, %d); s   } else {i   s   #elses&   %s = PySequence_ITEM(sequence, %d); %sR  s   Py_ssize_t i;s   PyObject** temps[%s] = {%s};R;  s   &%ss   for (i=0; i < %s; i++) {s1   PyObject* item = PySequence_ITEM(sequence, i); %sRz   s   *(temps[i]) = item;s   #endift   RaiseNoneIterErrors   ObjectHandling.cs%   __Pyx_RaiseNoneNotIterableError(); %sR  (   R   R}   R   R_  R   R   Rm   Rq   R1  R2  t   raise_too_many_values_to_unpackt    raise_need_more_values_to_unpackR   Rf   R  R  R   R  R   R   R  R<  R  R   R8  R  (   RF   R   Rn   R  t   sequence_type_testt
   none_checkt   sequence_typest   tuple_checkt
   list_checkR  Rz   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    			 		 	 	4		c         C@  s  | j  j t  | j  j t j d d   | j d  | r | j d t |  j  d j g  | D] } d | j	   ^ qa  f  n  | j
 j t d t } | j d | | j   | j | |  j  f  | j |  | j |  | j
 j |  j d t } | j d	 | | f  | j d
  }	 d | | f }
 | r| j d t |   | j d |
  | j |	  | j d  | j d  | j d  nf xc t |  D]U \ } } | j d | | j	   |
 | j	   f  | j |	  | j | j    qW| rn| j  j t j d d   | j |  j d |
 t |  f  | j d |  | j | t  n  | j d  } | j |  | j |	  | j | t  | j d |  | j d  | j | j |  j   | j |  | j
 j |  | r| j
 j |  d  } n  | S(   Nt
   IterFinishs   ObjectHandling.cs   Py_ssize_t index = -1;s   PyObject** temps[%s] = {%s};R;  s   &%sR   s   %s = PyObject_GetIter(%s); %ss   %s = Py_TYPE(%s)->tp_iternext;t   unpacking_faileds   %s(%s)s$   for (index=0; index < %s; index++) {s*   PyObject* item = %s; if (unlikely(!item)) Rz   s   *(temps[index]) = item;R   s(   index = %d; %s = %s; if (unlikely(!%s)) t   UnpackItemEndChecks$   __Pyx_IternextUnpackEndCheck(%s, %d)s
   %s = NULL;t   unpacking_donesC   if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);(   R1  R2  R  R   R8  R   Rm   R  R<  R   R   R   R   R   R   R   Rf   R  R  R  R   t	   new_labelR  t   put_gotoR  R  R  t	   put_labelR   R   RB   (   RF   R   Rn   R  R  t	   terminateRz   t   iterator_tempt   iternext_funct   unpacking_error_labelt   unpack_codeR  t   unpacking_done_label(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  -  sr    	4					c      	   C@  sf  xa t  |  j  D]D \ } } | j r |  j | } |  j |  } |  j | d } Pq q Wt sd t  d  } | rx | D] }	 |	 j |  qw W| j d  |  j	 | | | d t
 d t } x4 t  |  D]& \ } }	 |  j | }
 |
 j |  q W| j d  n  | j |  | j   } | j d | | p7| j   | j | |  j  f  | j |  | r| j | t  | j j |  n | j |  | r+| j j t  | j j t j d t } | j d | | f  | j d	 | t |  f  | j d
 t |  | | j |  j  f  | j d  x( | d  d  d  D] }	 |	 j |  qFWx t  t | d  d  d  |  j d  d  d    D] \ } \ }	 } | j d  | j d |	 j   | | | d f  | j d |  | j d  | j d |	 j   | | | d f  | j d  | j |	 j    | j |  qW| j d  | j j t d t
 } | j d | | | t |  | j | |  j  f  | j |  | j j |  | j  | t  | j d | | | f  | j d  | j d |  | j j |  | j d  n  x4 t  |  j  D]# \ } } | j! |  j | |  q;Wd  S(   Ni   R  R  R  R   s   %s = PySequence_List(%s); %sR   s   %s = PyList_GET_SIZE(%s);s   if (unlikely(%s < %d)) {s)   __Pyx_RaiseNeedMoreValuesError(%d+%s); %sis   #if CYTHON_COMPILING_IN_CPYTHONs!   %s = PyList_GET_ITEM(%s, %s-%d); s   ((PyVarObject*)%s)->ob_size--;s   #elses!   %s = PySequence_ITEM(%s, %s-%d); s   #endifs    #if !CYTHON_COMPILING_IN_CPYTHONs*   %s = PySequence_GetSlice(%s, 0, %s-%d); %ss   %s = %s; %s = NULL;s	   (void)%s;("   R  Rq   Rv  R  R   R   RB   R  R   R  R   R  R  R   R   R   Rf   R  R  R   R   R   R  R1  R2  R  R   R   R   Rm   R   R!  Rb  R  (   RF   Rn   R   R  Rm  t   starred_targett   unpacked_fixed_items_leftt   unpacked_fixed_items_rightR  Rz   R  t   target_listt   length_tempt   coerced_argt   sublist_temp(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  r  s    			,			c         C@  ss   x |  j  D] } | j |  q
 W|  j ro x |  j D] } | j |  q4 Wx! |  j D] } | j |  qU Wn  d  S(   N(   Rq   R  R  R  (   RF   R   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s    	N("   RH   RI   R   Rj   RB   R  R   R   R  R  R  R   R   R  R  R  R_  R   R	  R  R  R  R   R  R  R   R  R  R  R  R   R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s6   					
						X	
!		XE	PR  c           B@  s   e  Z e Z e Z d  Z d   Z e d  Z d   Z	 d   Z
 d   Z d   Z d   Z d   Z d	   Z d
   Z d   Z RS(   s   Constructing Python tuplec         C@  sl   |  j  s |  j r t Sg  |  j D] } | j |  ^ q! } t d   | D  rV t S| j |  j |  j S(   Nc         s@  s3   |  ]) } | j  p* | j p* | j p* | j Vq d  S(   N(   RX   R   R  R%  (   RK   R}   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>  s   (   R   Rq   R   Rk   RS   t   declare_tuple_typeRf   R}   (   RF   RZ   Rm  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk     s    %	c         C@  s  t  |  j  d k r+ t |  _ t |  _ |  S| s xK t |  j  D]7 \ } } | j rb t | _ n  | j	 |  |  j | <qA Wn  |  j
 r t d   |  j D  r | j |  j d   |  j D  j |  _ d |  _ |  St j	 |  | d t } | j |  } | j s| St d   | j D  s)| S| j
 sT| j
 j rit | j
 j t  rit | _ t | _ n9 | j
 j j s| j
 j |  | _
 n  t | _ t | _ | S(   Ni    c         s@  s<   |  ]2 } | j  p3 | j j p3 | j j p3 | j j Vq d  S(   N(   Rv  R}   RX   R   R%  (   RK   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>  s   c         s@  s   |  ] } | j  Vq d  S(   N(   R}   (   RK   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>  s    i   R  c         s@  s   |  ] } | j  Vq d  S(   N(   R   (   RK   t   child(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>  s    (   Rm   Rq   R   R   R   R   R  Rv  R  R   R   RS   R  Rf   R}   R  R  Rj   R(  Rc   Rd   R!   RX   RN  t   is_partly_literal(   RF   RZ   R  R  Rm  Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s>    			
	(		
			c         C@  sh   |  j  s d  Sg  |  j  D] } | j |  ^ q } t d   | D  rL d  S| j |  j |  } | j S(   Nc         s@  s   |  ] } | d  k Vq d  S(   N(   RB   (   RK   RL   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>  s    (   Rq   RB   R   RS   R  Rf   R}   (   RF   RZ   Rm  R{   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	%c         C@  s   |  j  j r | j r: |  j  j | j k r: |  j | |  S| t k sR | t k r g  |  j D] } | j |  ^ q\ } t |  j	 d | d t d d j
 | d t S|  j |  j | |  Sn6 | j r |  j r |  j | |  St j |  | |  Sd  S(   NRq   R}   R   i   R  (   R}   RX  Rh  R  R   R   Rq   RN  R  Rf   R   R   R.  R   R  (   RF   RC  RZ   Rm  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.    s    %.c         C@  sL   t  |  j d |  j d |  j } t |  j t  rH t |  j  | _ n  | S(   NRq   R   (   RG  Rf   Rq   R   Rc   Rd   R   R   (   RF   RL   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   as_list  s    !c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^     s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   $  s    c         C@  s'   t  |  j  d k r |  j St j Sd  S(   Ni    (   Rm   Rq   R  R   t   empty_tuple(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   (  s    c         C@  s,   t  g  |  j D] } | j ^ q  |  _ d  S(   N(   R   Rq   Rd   (   RF   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   .  s    c         C@  sD   |  j  |  } y t |  SWn  t k
 r? } |  j |  n Xd  S(   N(   R  R   R  R   (   RF   R   R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   2  s
    c         C@  sX  t  |  j  d k r d  S|  j s+ |  j r8t |  j |  j rF |  j n d  g |  j  } | j t	 d d d d | } | j
 |  } | d  k	 r | j |  j  |  j | | d |  j | j |  n  |  j r | |  _ qT| j d |  j   | |  j j   | j |  j   |  j  f  | j |  j    n t |  j j _ |  j |  d  S(   Ni    R   R  i   R  R  s"   %s = PyNumber_Multiply(%s, %s); %s(   Rm   Rq   R   R	  R~   R}   R   RB   R  R   R  R  Rf   R  RS  R  R   R   R   R   R  R   R   R*  (   RF   R   R  t   tuple_targetR  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  9  s$    .		 (   RH   RI   R   R}   R   R	  R  Rk   R   R   R.  R
  R^  R   R   R   R   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   		%	
							RG  c           B@  s   e  Z g  Z e Z e Z d  Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z d   Z d   Z d	   Z d
   Z d   Z d   Z RS(   s   Constructing Python listc         C@  s   d S(   N(    (    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   b  s    c         C@  s   t  S(   N(   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   e  s    c         C@  sH   x& |  j  D] } | j r
 t | _ q
 q
 Wt j |  |  } | j |  S(   N(   Rq   Rv  R   R  R  R   RN  (   RF   RZ   Rm  Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   i  s
    	c         C@  sm   t  d t  + } t |  j  |  _ t j |  |  } Wd  QX| | _ | j rZ t |  _	 n  | j
 |  } | S(   NR  (   R
   R   R   Rq   t   original_argsR  R   t   obj_conversion_errorsR	  RI  R  (   RF   RZ   t   errorsRh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   p  s    		c   	      C@  s  | j  r\ x |  j D] } t |  q Wg  |  _ |  j j |  st |  j d |  qn| j sn | j r| j	 t
 j k	 rt |  j  } |  j r t |  j j t  r |  j j d k r t |  j d |  q | |  j j 9} q t |  j d |  n  | j	 } t
 j | |  |  _ xt t |  j   D]G } |  j | } t | t  rb| j } n  | j | |  |  j | <q4Wn{| j rt |  j d |  d t
 j j | |  S|  j rt |  j d |  n*| j rt |  j  t | j j  k rt |  j d |  n t |  j  t | j j  k  rOt |  j d	 | d
  n  xi t t  |  j | j j   D]I \ } \ } } t | t  r| j } n  | j | j |  |  j | <qnW| |  _ n6 | j! r|  j" | |  St# |  _ t |  j d |  |  S(   Ns   Cannot coerce list to type '%s'i    s4   Cannot coerce non-positively multiplied list to '%s's1   Cannot coerce dynamically multiplied list to '%s'R  R}   s%   Cannot coerce multiplied list to '%s's   Too many members for '%s's   Too few members for '%s'i   ($   RX   R  R   R}   R;  R   Rf   R   R&  R'  R   t   c_void_typeRm   Rq   R   Rc   Rd   R!   R  R  R  R:  Rm  R.  R=  t   TypecastNodeR   R  R  R  R   R  R!  RX  R  R(   (	   RF   RC  RZ   R[   R  R'  R  Rm  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  z  sP    		$		 	(		!!1 		c         C@  s   |  S(   N(    (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR
    s    c         C@  sL   t  |  j d |  j d |  j } t |  j t  rH t |  j  | _ n  | S(   NRq   R   (   R  Rf   Rq   R   Rc   Rd   R   R   (   RF   RL   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   as_tuple  s    !c         C@  sP   |  j  j r< |  j r< | j j |  j  d t d t |  _ n t j	 |  |  d  S(   NR   t   static(
   R}   R   RI  R   R   R   R   R   R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	c         C@  s#   |  j  j r n t j |  |  d  S(   N(   R}   R   R  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s;   |  j  r t    n  g  |  j D] } | j ^ q |  _ d  S(   N(   R   Rr   Rq   Rd   (   RF   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	c         C@  s5   |  j  |  } |  j r1 | |  j j |  9} n  | S(   N(   R  R   R   (   RF   R   t   l(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	c         C@  s  |  j  j r: x |  j D] } t |  q W|  j |  n|  j  j r|  j r | j d  | j d t j	  | j d j
 d t j	 d |  j j     d t |  j  t j	 f } n d } x t |  j  D] \ } } | j  j r9| j j t j d d	   | j d
 |  j   | | | j   |  j   f  q | j d |  j   | | | j   f  q W|  j r| j d  | j d  qnp |  j  j rxa t |  j |  j  j j  D]5 \ } } | j d |  j   | j | j   f  qWn t d   d  S(   NR  s   Py_ssize_t %s;s&   for ({i} = 0; {i} < {count}; {i}++) {{R  t   counts   + (%d * %s)R  R  s   StringTools.cs'   memcpy(&(%s[%s%s]), %s, sizeof(%s[0]));s   %s[%s%s] = %s;R   s   %s.%s = %s;s   List type never specified(   R}   RX   R  R   R  R   R   R   R   RM  R  R   Rm   Rq   R  R1  R2  R   R8  R  R!  R  R  R   R   (   RF   R   R[   R  R  Rm  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    sB    					(		(   RH   RI   R  R   R}   R   RI  R  R   Rk   R   R   R.  R
  R  R   R   R   R   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRG  V  s    				
	/							t   ScopedExprNodec           B@  s\   e  Z g  Z d Z e Z d d   Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z RS(   c         C@  sC   | d  k	 r | |  _ n' |  j r6 t j |  |  _ n	 d  |  _ d  S(   N(   RB   t
   expr_scopet   has_local_scopeR   t   GeneratorExpressionScope(   RF   t   outer_scopeR  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt
   init_scope   s
    	c         C@  s   |  j  |  d  S(   N(   R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   d  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_scoped_declarations   s    c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR      s    c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   analyse_scoped_expressions   s    c         C@  s  t  t |   j } |  j s) |  j j r7 | |  d  S| j d  g  } xa t d   |  j j j	   D  D]= \ } } | j
 sm | j j r | j r | j |  q qm qm W| s | |  | j d  d  S| j   } | j   } | |  |  j | |  | j d  } | j |  xu | j | f g t t | j   |   D]H \ }	 }
 | j |	  rI| j |	  |  j | |  | j |
  qIqIW| j |  | j d  | j |  | | _ d  S(   Ns   { /* enter inner scope */c         s@  s   |  ] } | d  r | Vq d S(   i    N(    (   RK   Rz   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>&   s    s   } /* exit inner scope */t
   exit_scope(   RC   R  R  R  R  R  R   Rk  R  R  R'  R}   RX   R*  R   t   new_loop_labelst   new_error_labelt   _generate_vars_cleanupR  R  t   error_labelR   R!  t   get_loop_labelst
   label_usedR  t   set_loop_labels(   RF   R   t   generate_inner_evaluation_codet
   py_entriesR  R   t   old_loop_labelst   old_error_labelR  t   labelt	   old_label(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s<    
/	

&c         C@  sN   xG | D]? } | j  r9 | j |  | j | j d  q | j |  q Wd  S(   NR~  (   R,  t   put_var_gotrefRQ  R   t   put_var_xdecref_clear(   RF   R   R'  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR!  H   s
    	N(   RH   RI   R   RB   R  R   R  R  R  R  R   R  R  R!  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    s   					,t   ComprehensionNodec           B@  sn   e  Z d  g Z e Z e Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z d   Z d	   Z RS(
   t   loopc         C@  s   |  j  S(   N(   R}   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   Y   s    c         C@  s   |  |  j  _ |  j |  d  S(   N(   R   R  R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  \   s    c         C@  s   |  j  j |  d  S(   N(   R/  R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  `   s    c         C@  s%   |  j  s! |  j j |  |  _ n  |  S(   N(   R  R/  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   c   s    	c         C@  s%   |  j  r! |  j j |  |  _ n  |  S(   N(   R  R/  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  h   s    	c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  m   s    c         C@  s   |  j  |  d  S(   N(   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  p   s    c         C@  s   |  j  t j k r d } nI |  j  t j k r6 d } n. |  j  t j k rQ d } n t d |  j    | j d |  j   | | j |  j   |  j	  f  | j
 |  j    |  j j |  d  S(   Ns   PyList_New(0)s   PySet_New(NULL)s   PyDict_New()s"   illegal type for comprehension: %ss   %s = %s; %s(   R}   R   R   R   R   R   R   R   R   Rf   R  R/  t   generate_execution_code(   RF   R   t   create_code(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  s   s    				 c         C@  s   |  j  j |  d  S(   N(   R/  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    (   RH   RI   Ry  R   R   R   Rd   Rk   R  R  R   R  R_  R	  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  Q   s   									t   ComprehensionAppendNodec           B@  sD   e  Z d  g Z d Z e j Z d   Z d   Z	 d   Z
 d   Z RS(   R  c         C@  s@   |  j  j |  |  _  |  j  j j s< |  j  j |  |  _  n  |  S(   N(   R  R   R}   RX   RN  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR      s    c         C@  s   |  j  j t k r7 | j j t j d d   d } n1 |  j  j t k rR d } n t d |  j  j   |  j	 j
 |  | j | j d | |  j  j   |  j	 j   f |  j   |  j	 j |  |  j	 j |  d  S(   Nt   ListCompAppends
   Optimize.ct   __Pyx_ListComp_Appendt	   PySet_Adds'   Invalid type for comprehension node: %ss   %s(%s, (PyObject*)%s)(   R  R}   R   R1  R2  R   R8  R   R   R  R  R   R   R   Rf   R  R  (   RF   R   RO  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR0     s     			c         C@  s   |  j  j | |  d  S(   N(   R  R  (   RF   RZ   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s   |  j  j |  d  S(   N(   R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    N(   RH   RI   Ry  RB   R  R   R  R}   R   R0  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR2     s   					t   DictComprehensionAppendNodec           B@  s8   e  Z d  d g Z d   Z d   Z d   Z d   Z RS(   t   key_exprt
   value_exprc         C@  s|   |  j  j |  |  _  |  j  j j s< |  j  j |  |  _  n  |  j j |  |  _ |  j j j sx |  j j |  |  _ n  |  S(   N(   R7  R   R}   RX   RN  R8  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR      s    c         C@  s   |  j  j |  |  j j |  | j | j d |  j j   |  j  j   |  j j   f |  j   |  j  j |  |  j  j	 |  |  j j |  |  j j	 |  d  S(   Ns0   PyDict_SetItem(%s, (PyObject*)%s, (PyObject*)%s)(
   R7  R  R8  R   R   R  R   Rf   R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR0     s    c         C@  s*   |  j  j | |  |  j j | |  d  S(   N(   R7  R  R8  (   RF   RZ   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    c         C@  s$   |  j  j |  |  j j |  d  S(   N(   R7  R  R8  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    (   RH   RI   Ry  R   R0  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR6     s
   				t   InlinedGeneratorExpressionNodec           B@  sY   e  Z d  g Z d Z d Z e Z e Z	 d d  Z
 d   Z d   Z d   Z d   Z RS(   t   genc         K@  s   | j  j } t | _ | d  k	 rs | t t t f k sB t |   | | _	 | j
 d t | | t j  d |  n  t t |   j | d | | d  S(   NR  R}   R:  (   RW  t   gbodyR   t
   is_inlinedRB   R   R   R   R   t   inlined_comprehension_typeR  R  R   t   retval_cnameRC   R9  R  (   RF   Rf   R:  t   comprehension_typeRf  R;  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR     s    	!		
c         C@  s   |  j  d k S(   NRS   R(  Rk  (   RS   R(  Rk  (   t	   orig_func(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_     s    c         C@  s   |  j  S(   N(   R}   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk      s    c         C@  s   |  j  j |  |  _  |  S(   N(   R:  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR      s    c         C@  sU   | j  d |  j   |  j j   | j |  j   |  j  f  | j |  j    d  S(   Ns!   %s = __Pyx_Generator_Next(%s); %s(   R   R   R:  R   Rf   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	     s    	 N(   RH   RI   R   RB   R@  R  R   R   R   R}   R  R_  Rk   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR9     s   				R  c           B@  st   e  Z d  Z d g Z e Z d Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d	   Z d
   Z d   Z RS(   s   
    Merge a sequence of iterables into a set/list/tuple.

    The target collection is determined by self.type, which must be set externally.

    args    [ExprNode]
    Rq   s   Constructing Python collectionc         C@  s   | t  t f k rh | rh | d j rh | d j t  k	 rh t | d j d | d j d t | d <qh n  t j	 |  | d | d | d  S(   Ni    Rq   R   R}   (
   R   R   Rj   R}   RG  Rf   Rq   R   R   R  (   RF   Rf   Rq   R}   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  !  s    %0c         C@  s   g  } x| |  j  D]q } | j rC | j rC | j j d k rC q qC n  | j sU | j rk d   | j  D } n	 | j } | j |  q W|  j t k r t |  } n3 |  j t	 k r t
 |  } n |  j t k s t  | |  _ d  S(   Ni    c         s@  s   |  ] } | j  Vq d  S(   N(   Rd   (   RK   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>!  s    (   Rq   Rj   R   Rd   Rm  R   R}   R   Ru   R   R   R   R   (   RF   R   Rz   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   !  s    		c         @  s  g  } x |  j  D] } | j rI | j rI | j j    d k rI q qI n  | j s[ | j rw   f d   | j  D } n | j    } | j |  q W|  j t k r y t |  } Wqt	 k
 r } |  j
 |  qXn3 |  j t k r t |  } n |  j t k st  | S(   Ni    c         3@  s   |  ] } | j     Vq d  S(   N(   R   (   RK   Rm  (   R   (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pys	   <genexpr>0!  s    (   Rq   Rj   R   R   Rm  R   R}   R   Ru   R  R   R   R   R   R   (   RF   R   R   Rz   R  R   (    (   R   s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   (!  s$    	c         C@  s   d S(   N(    (    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   ?!  s    c         C@  s   |  j  S(   N(   R}   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   B!  s    c         C@  s   g  |  j  D]' } | j |  j |  j d  ^ q
 } t |  d k rg | d j |  j k rg | d S|  j t t t f k s t	  | |  _  |  S(   Ns2   argument after * must be an iterable, not NoneTypei   i    (
   Rq   R   RN  Rd  Rm   R}   R   R   R   R   (   RF   RZ   Rm  Rq   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   E!  s    4(	c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  V!  s    c   
      C@  sv  | j  |  j  |  j |  |  j t k } t |  j  } t |  } | j |  | rc | j	 s | r | j
 r | j t k r | j d |  j   | j   f  | j |  nj | j d |  j   | r d n d | j   | j |  j   |  j  f  | j |  j    | j |  | j |  t   } | rJd } d } n d } d } x<| D]4} | r{| j	 s| j
 s| j
 r| j r| r| j r| j d  n  xd | j D]Y } | j |  | j | j d | |  j   | j   f  | j |  | j |  qWq]n  | r1| j d  n | j d  | j |  | j | j d | |  j   | j   f  | j |  | j |  q]W|  j t k rB| j d  | j d t j |  j   f  | j |  j   t  | j d |  j   t j | j |  j   |  j  f  | j |  j    | j d  n  x- t |  D] }	 | j j t  j! |	    qOWd  S(   Ns   %s = %s;s   %s = %s(%s); %st	   PySet_Newt   PySequence_ListR5  t   __Pyx_PySet_UpdateR4  t   __Pyx_PyList_ExtendR3  s
   Optimize.cs
   %s(%s, %s)t   PySet_Updates
   Builtins.ct
   ListExtendR  s"   PyObject *%s = PyList_AsTuple(%s);s   %s = %s; %sR   (   R3  s
   Optimize.c(   RE  s
   Builtins.c(   RF  s
   Optimize.c("   R  Rf   R   R}   R   R  Rq   R  R  Rm  Rj   R   R   R   R   R  R   R  R  R  Ru   R   Rj  R  R   R   RM  Rb  R   Rk  R1  R2  R   R8  (
   RF   R   t   is_setRq   Rz   R  t   add_funct   extend_funcRm  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  Y!  s|    #			 							 c         C@  s%   x |  j  D] } | j |  q
 Wd  S(   N(   Rq   R  (   RF   R   Rz   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  !  s    (   RH   RI   R  R   R   R   R  R  R   R   R   Rk   R   R_  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   !  s   									Kt   SetNodec           B@  sV   e  Z d  Z d g Z e Z e Z d Z d   Z	 d   Z
 d   Z d   Z d   Z RS(   s   
    Set constructor.
    Rq   s   Constructing Python setc         C@  sh   xO t  t |  j   D]8 } |  j | } | j |  } | j |  |  j | <q Wt |  _ d |  _ |  S(   Ni   (   R  Rm   Rq   R   RN  R   R}   R   (   RF   RZ   R  Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   !  s    		c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  !  s    c         C@  s,   t  g  |  j D] } | j ^ q  |  _ d  S(   N(   Ru   Rq   Rd   (   RF   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   !  s    c         C@  sZ   g  |  j  D] } | j |  ^ q
 } y t |  SWn  t k
 rU } |  j |  n Xd  S(   N(   Rq   R   Ru   R  R   (   RF   R   Rm  R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   !  s
    %c         C@  s   x |  j  D] } | j |  q
 W|  j |  | j d |  j   | j |  j   |  j  f  | j |  j    xT |  j  D]I } | j	 |  j d |  j   | j   f  | j
 |  | j |  q} Wd  S(   Ns   %s = PySet_New(0); %ss   PySet_Add(%s, %s)(   Rq   R  R   R   R   R   Rf   R  R   R  R  R  (   RF   R   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  !  s    	 (   RH   RI   R  R   R   R}   R   Rm  R  R   R_  R   R   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRJ  !  s   						R  c           B@  s   e  Z d  g Z d Z e Z e Z e Z	 e Z
 g  Z e d    Z d   Z d   Z d   Z d   Z d   Z d   Z d	   Z d
   Z d Z d   Z d   Z RS(   R  i   c         C@  s;   |  | d g  | D]$ \ } } t  | d | d | ^ q S(   NR  R  R   (   R  (   RE   Rf   t   pairst   kR  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt
   from_pairs!  s    	c         C@  s,   t  g  |  j D] } | j ^ q  |  _ d  S(   N(   R   R  Rd   (   RF   Rz   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   !  s    c         C@  so   g  |  j  D]* } | j j |  | j j |  f ^ q
 } y t |  SWn  t k
 rj } |  j |  n Xd  S(   N(   R  R  R   R   R   R  R   (   RF   R   Rz   RK  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   !  s    7c         C@  s   d S(   N(    (    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   !  s    c         C@  s   t  S(   N(   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   !  s    c         C@  sM   t  d t  / } g  |  j D] } | j |  ^ q |  _ Wd  QX| |  _ |  S(   NR  (   R
   R   R  R   R  (   RF   RZ   R  Rz   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   "  s
    +	c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  "  s    c         C@  sr  | j  r |  j   |  j j r t j |  sE t |  j d |  n  t |  j d g  |  j	 D]9 } t
 | j d | j j |  d | j j |  ^ q[ S|  j j |  snt |  j d |  qnn| j rQ| |  _ | j rt |  j	  d k rt |  j d |  nD | j rSt |  j	  t | j j  k  rSt |  j d | d  n  x|  j	 D] } t | j t  r| j j | _ n  | j j st | j j d	  t | j j d d
 | _ q]t | j j  } | j j |  } | st | j j d | | f  q]| j } t | t  r2| j } n  | j | j |  | _ q]Wn t |  _ t |  j d |  |  S(   Ns-   Cannot interpret struct as non-dict type '%s'R  R  R   s"   Cannot interpret dict as type '%s'i   s<   Exactly one field must be specified to convert to union '%s's%   Not all members given for struct '%s's   Invalid struct field identifiers   <error>s   struct '%s' has no field '%s'(   RX   t   release_errorsR}   R  R   R;  R   Rf   R  R  R  R  RN  R   R  Rm   R  R  R   Rc   R:  Rm  Rn  R  R^   R  R.  R(   (   RF   RC  RZ   Rz   R  R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  "  sB    	
G		* 		c         C@  s+   x |  j  D] } t |  q
 Wg  |  _  d  S(   N(   R  R   (   RF   R[   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRN  5"  s    s   Constructing Python dictc         C@  s  | j  |  j  |  j |  |  j j } | r |  j   | j d |  j   t |  j	  | j
 |  j   |  j  f  | j |  j    n  t   } d  } t } x$|  j	 D]} | j |  | r||  j r | j d | j j    n  | j } |  j r| d  k	 r| j sd  } q| j | k r3d  } q| t | j  k	 r| d  k rvt | j  } | j | j  qd  } q| j | j  n  | d  k r| j d |  j   | j   f  t } | j d | j   | j | j  f  | j d  qn  | j |  j d |  j   | j j   | j j   f  |  j r`| d  k r`| j d  n  |  j r| j d  qn/ | j d |  j   | j j | j j   f  | j |  | j |  q W| r| j j t j d	 d
   n  d  S(   Ns%   %s = __Pyx_PyDict_NewPresized(%d); %ss	   if (%s) {s(   if (unlikely(PyDict_Contains(%s, %s))) {s2   __Pyx_RaiseDoubleKeywordsError("function", %s); %ss   } else {s   PyDict_SetItem(%s, %s, %s)R   s   %s.%s = %s;R  s   FunctionArguments.c(    R  Rf   R   R}   RX   RN  R   R   Rm   R  R   R  R   Ru   RB   R   R  t   exclude_null_valuesR   R  R  Rn  Rj  R   R   R  R  R  R1  R2  R   R8  (   RF   R   t   is_dictt	   keys_seent   key_typet   needs_error_helperRz   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  <"  sr    
	 																	c         C@  s%   x |  j  D] } | j |  q
 Wd  S(   N(   R  R  (   RF   R   Rz   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  "  s    (   RH   RI   R   R   R   RO  R   R}   R   Rl  R  R  Rz  RM  R   R   R   Rk   R   R_  R.  RN  R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  !  s&   									'		JR  c           B@  sP   e  Z d  d g Z d Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   R  R   c         C@  s   |  j  j |  j j f |  _ d  S(   N(   R  Rd   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   "  s    c         C@  sX   |  j  j |  |  _  |  j j |  |  _ |  j  j |  |  _  |  j j |  |  _ |  S(   N(   R  R   R   RN  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   "  s
    c         C@  s$   |  j  j |  |  j j |  d  S(   N(   R  R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  "  s    c         C@  s$   |  j  j |  |  j j |  d  S(   N(   R  R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  "  s    c         C@  s$   |  j  j |  |  j j |  d  S(   N(   R  R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  "  s    c         C@  s   t  |  j |  j g  S(   N(   R  R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   __iter__"  s    N(   RH   RI   R   RB   R   R   R   R  R  R  RT  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  "  s   					t   SortedDictKeysNodec           B@  s;   e  Z d  g Z e Z d   Z d   Z d   Z d   Z RS(   Rm  c         C@  s)   t  j |  | j d | t j |  _ d  S(   NRm  (   R   R  Rf   R   R   R}   (   RF   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  "  s    c         C@  sC   |  j  j |  } | j t j k r6 | j d  } n  | |  _  |  S(   Ns!   'NoneType' object is not iterable(   Rm  R   R}   R   R   Rd  (   RF   RZ   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   "  s    	c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  "  s    c         C@  s  |  j  j   } |  j  j t j k ro | j d |  j   | | j |  j   |  j  f  | j	 |  j    n | j
 j t j d d   | j t j d   } | j d |  j   | | | j |  j   |  j  f  | j	 |  j    | j d |  j    | j |  j   d |  j    | j | j |  j   |  j   | j	 |  j    | j d  | j |  j d	 |  j    d  S(
   Ns   %s = PyDict_Keys(%s); %st   PyObjectCallMethod0s   ObjectHandling.ct   keyss+   %s = __Pyx_PyObject_CallMethod0(%s, %s); %ss"   if (unlikely(!PyList_Check(%s))) {s   PySequence_List(%s)R   s   PyList_Sort(%s)(   Rm  R   R}   R   R   R   R   R   Rf   R  R1  R2  R   R8  R4  R   R  RQ  R  (   RF   R   t   dict_resultt
   keys_cname(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  "  s(    	 	  "(	   RH   RI   R   R   R   R  R   R_  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRU  "  s   				t   ModuleNameMixinc           B@  s   e  Z d    Z d   Z RS(   c         C@  s   | j  |  j d t S(   NR  (   R  Ro  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   get_py_mod_name"  s    c         C@  s   | j  |  j d t S(   NR  (   R  t   qualnameR   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   get_py_qualified_name"  s    (   RH   RI   R[  R]  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRZ  "  s   	t	   ClassNodec           B@  sJ   e  Z d  d g Z e Z e Z d   Z d   Z d   Z	 d Z
 d   Z RS(   t   basest   docc         C@  s   t  S(   N(   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   "  s    c         C@  sh   |  j  j |  |  _  |  j rK |  j j |  |  _ |  j j |  |  _ n  | j t j d d   |  S(   Nt   CreateClasss   ObjectHandling.c(   R_  R   R`  RN  R2  R   R8  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   "  s    	c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  #  s    s   Constructing Python classc         C@  s   | j  |  j  } |  j rb | j |  j d |  j j   | j  t j d   |  j j   f  n  |  j	 |  } |  j
 |  } | j d |  j   |  j j   |  j j   | | | | j |  j   |  j  f  | j |  j    d  S(   Ns   PyDict_SetItem(%s, %s, %s)R  s.   %s = __Pyx_CreateClass(%s, %s, %s, %s, %s); %s(   R4  RY   R`  R  Rf   R   R   R   R  R[  R]  R   R   R_  R   R  (   RF   R   R   t   py_mod_nameR\  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  #  s(    		 (   RH   RI   R   R   R}   R   R   Rk   R   R_  R  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^  "  s   			t   Py3ClassNodec           B@  sD   e  Z g  Z e Z e Z d    Z d   Z d   Z	 d Z
 d   Z RS(   c         C@  s   t  S(   N(   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   .#  s    c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   2#  s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  5#  s    s   Constructing Python classc         C@  s   | j  j t j d d   | j |  j  } |  j rI |  j j   } n d } |  j rj |  j j   } n d } | j	 d |  j
   | | |  j j   |  j j   | |  j |  j | j |  j
   |  j  f	  | j |  j    d  S(   Nt   Py3ClassCreates   ObjectHandling.cR  s$   ((PyObject*)&__Pyx_DefaultClassType)s9   %s = __Pyx_Py3ClassCreate(%s, %s, %s, %s, %s, %d, %d); %s(   R1  R2  R   R8  R4  RY   t   mkwR   t	   metaclassR   R   R_  R   t   calculate_metaclasst   allow_py2_metaclassR   Rf   R  (   RF   R   R   Re  Rf  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  :#  s(    			 (   RH   RI   R   R   R}   R   R   Rk   R   R_  R  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRc  #  s   			t   PyClassMetaclassNodec           B@  s)   e  Z g  Z d    Z d   Z d   Z RS(   c         C@  s   t  |  _ t |  _ |  S(   N(   R   R}   R   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   [#  s    		c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  `#  s    c         C@  s   |  j  rJ | j j t j d d   d |  j j   |  j  j   f } n/ | j j t j d d   d |  j j   } | j d |  j   | | j |  j   |  j	  f  | j
 |  j    d  S(   Nt   Py3MetaclassGets   ObjectHandling.cs   __Pyx_Py3MetaclassGet(%s, %s)t   CalculateMetaclasss"   __Pyx_CalculateMetaclass(NULL, %s)s   %s = %s; %s(   Re  R1  R2  R   R8  R_  R   R   R   Rf   R  R   (   RF   R   t   call(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  c#  s    			 (   RH   RI   R   R   R_  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRi  S#  s   		t   PyClassNamespaceNodec           B@  s,   e  Z d  g Z d   Z d   Z d   Z RS(   R`  c         C@  sL   |  j  r6 |  j  j |  |  _  |  j  j |  |  _  n  t |  _ d |  _ |  S(   Ni   (   R`  R   RN  R   R}   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   #  s    			c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  #  s    c         C@  s   | j  |  j  } |  j |  } |  j |  } |  j rK |  j j   } n d } |  j rl |  j j   } n d } |  j r |  j j   } n d } | j	 d |  j   | |  j
 j   | | | | | | j |  j   |  j  f	  | j |  j    d  S(   Ns   (PyObject *) NULLs>   %s = __Pyx_Py3MetaclassPrepare(%s, %s, %s, %s, %s, %s, %s); %s(   R4  RY   R[  R]  R`  R   Re  R   Rf  R   R_  R   Rf   R  (   RF   R   R   Rb  R\  t   doc_codeRe  Rf  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  #  s0    				 (   RH   RI   R   R   R_  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRm  u#  s   				t   ClassCellInjectorNodec           B@  s;   e  Z e Z e Z g  Z e Z d    Z	 d   Z
 d   Z RS(   c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   #  s    c         C@  sb   |  j  r^ |  j |  | j d |  j   | j |  j   |  j  f  | j |  j    n  d  S(   Ns   %s = PyList_New(0); %s(   t	   is_activeR   R   R   R   Rf   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  #  s    		 c         C@  sO   |  j  rK | j j t j d d   | j |  j d |  j   | f  n  d  S(   Nt   CyFunctionClassCells   CythonFunction.cs&   __Pyx_CyFunction_InitClassCell(%s, %s)(   Rp  R1  R2  R   R8  R  Rf   R   (   RF   R   t   classobj_cname(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_injection_code#  s
    		(   RH   RI   R   R   R   R}   R   R   Rp  R   R  Rs  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRo  #  s   			t   ClassCellNodec           B@  s2   e  Z g  Z e Z e Z e Z d    Z	 d   Z
 RS(   c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   #  s    c         C@  s   |  j  s, | j d |  j   t j f  n  | j d |  j   t j f  | j d |  j   | j |  j  f  | j |  j   t	  d  S(   Ns&   %s = __Pyx_CyFunction_GetClassObj(%s);s   %s =  %s->classobj;sT   if (!%s) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); %s }(
   t   is_generatorR   R   R   t
   self_cnamet   generator_cnameR   Rf   R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  #  s    					(   RH   RI   R   R   R   R   Ru  R   R}   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRt  #  s   	t   PyCFunctionNodec           B@  s   e  Z d  d d d g Z d Z d Z e Z d Z d Z	 d Z
 d Z d Z d Z d Z e Z d Z d Z e Z e d    Z d   Z d   Z d	   Z d
   Z d Z d   Z d   Z d   Z d   Z RS(   t   code_objectt   defaults_tuplet   defaults_kwdictt   annotations_dicti    i   c         C@  sC   |  | j  d | d | j j d | p* | j d | j d t |  S(   NRW  t   pymethdef_cnamet   bindingt   specialized_cpdefsRy  (   Rf   R   R}  R  t   CodeObjectNode(   RE   Rh   R~  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   from_defnode#  s    	c         C@  s   |  j  r |  j |  n  |  S(   N(   R~  t   analyse_default_args(   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   $  s    	c         C@  s  g  } g  } g  } g  } g  } | j  p9 |  j j o9 | j } x |  j j D] } | j r | r | j j s t | _ | j	 j
 r | j |  q | j |  n t | j | j  | _ | j r | j |  q | j |  n  | j rI |  j | | j  | _ | j | j | j | j f  qI qI Wxi |  j j |  j j f D]O } | rA| j rA|  j | | j  | _ | j | j | j | j f  qAqAW|  j j }	 |	 r|  j | |	  }	 |	 |  j _ | j |	 j t j d  |	 f  n  | s| r\| j   }
 |
 j t j  } t j |  } g  |  _ xR | D]J } | j | j | j	 d t j  | j d t } |  j j | | f  q2WxX | D]P } | j | j | j	 d t j  | j d t! d t } |  j j | | f  qW|
 j" d d | d d d | } | |  _# t$ |  |  _% x0 |  j D]% \ } } d t j& | j' f | _( qW|  j# j |  j _# n  | sh| rc|  j# d k r6| rt) |  j d g  | D] } | j ^ q} | j* |  j+ |  |  _, n  | r`t- |  j d	 g  | D]6 } t. | j d
 t/ | j d | j d | j ^ q} | j* |  |  _0 q`qc| rWt1 |  j | |  j#  } n t2 |  j  } | rt3 |  j | |  j#  } n t2 |  j  } t4 j5 |  j d g  d d d d d t4 j6 |  j d t7 d t) |  j d | | g d d d t j d  } | j   }
 | j8 |
  | j9 |
  } | j: j9 | j;  | _: t! | _< t! | _= | |  j _> n  | rt- |  j d	 g  | D]3 \ } } } t. | d
 t/ | d | d | ^ q|} | j* |  |  _? n  d S(   sB   
        Handle non-literal function's default arguments.
        t   returnt   allow_pyobjectt   allow_memoryviewt   structi   R   s   %s->%sRq   R  R  R   RX  RY  t   bodyR  t
   decoratorsRY   t   __defaults__N(@   t   is_c_class_scopeRW  t
   is_wrapperR	  Rq   RO   R   R   t
   is_dynamicR}   RX   R   t   DefaultLiteralArgNodeRf   t   kw_onlyRj  t   analyse_annotationRY   RX  RY  t   return_type_annotationR   R  R  t   next_idR   t   defaults_struct_prefixR   t   StructOrUnionScopet   defaultsR  RB   t
   arg_prefixR   t   declare_struct_or_uniont   defaults_structRm   t   defaults_pyobjectst   dynamic_args_cnameR   R  R  R   RN  Rz  R  R  R  R{  t   DefaultsTupleNodeR}  t   DefaultsKwDictNodeR   t   DefNodet   ReturnStatNodeR   R  R   R  t   local_scopet   py_wrapper_requiredt   pymethdef_requiredt   defaults_getterR|  (   RF   RZ   t   nonliteral_objectst   nonliteral_othert   default_argst   default_kwargst   annotationst   must_use_constantsRm  Rj  R  R   R  R   Rz  R{  R  Rf   RY   R   R|  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  $  s    			&&%			C			@c         C@  s   | d  k r d  S| j |  } | d  k	 r[ t | j d t j | j d d t  } n  | j |  } | j	 j
 s | j |  } n  | S(   NR   R  t   for_display(   RB   R   R  Rf   R   R  R   R   R   R}   RX   RN  (   RF   RZ   Rj  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  $  s    	$c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  $  s    s   Constructing Python functionc         C@  s+   |  j  d  k r d } n |  j  j   } | S(   NR  (   t   self_objectRB   R   (   RF   t   self_result(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   self_result_code$  s    	c         C@  s*   |  j  r |  j |  n |  j |  d  S(   N(   R~  t   generate_cyfunction_codet   generate_pycfunction_code(   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  $  s    	c      	   C@  sj   |  j  |  } | j d |  j   |  j |  j   | | j |  j   |  j  f  | j |  j    d  S(   Ns'   %s = PyCFunction_NewEx(&%s, %s, %s); %s(	   R[  R   R   R}  R  R   Rf   R  R   (   RF   R   Rb  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  $  s    		 c   
      C@  s  |  j  r |  j  d } n	 |  j } |  j  s4 |  j rY | j j t j d d   d } n" | j j t j d d   d } |  j r |  j j   } n d } g  } | j	 r | j
 d  n | j r | j
 d	  n  | j j j r | j j r | j
 d
  n  | rd j |  } n d } | j d |  j   | |  j | |  j |  |  j   |  j |  t j | | j |  j   |  j  f
  | j |  j    | j r| j st d   | j d } | j  |  j   t!  | j d | j" j   |  j   f  | j# |  j    n  |  j$ r| j d |  j   |  j% j& |  j' | j( |  j  f  d |  j% j& |  j   f } x: |  j$ D], \ } }	 | j) | d d | |	 j* f q}Wn  |  j+ r| j d |  j   |  j+ j   f  n  |  j, r| j d |  j   |  j, j   f  n  | j- rP|  j  rP| j d |  j   | j- j j. f  n  |  j/ r| j d |  j   |  j/ j   f  n  d  S(   Ni    t   FusedFunctions   CythonFunction.ct   __pyx_FusedFunction_NewExt   CythonFunctiont   __Pyx_CyFunction_NewExR  t   __Pyx_CYFUNCTION_STATICMETHODt   __Pyx_CYFUNCTION_CLASSMETHODt   __Pyx_CYFUNCTION_CCLASSs    | R  s(   %s = %s(&%s, %s, %s, %s, %s, %s, %s); %ss   pyclass_stack is emptyis   PyList_Append(%s, %s);s:   if (!__Pyx_CyFunction_InitDefaults(%s, sizeof(%s), %d)) %ss!   __Pyx_CyFunction_Defaults(%s, %s)R  s   %s->%ss*   __Pyx_CyFunction_SetDefaultsTuple(%s, %s);s+   __Pyx_CyFunction_SetDefaultsKwDict(%s, %s);s+   __Pyx_CyFunction_SetDefaultsGetter(%s, %s);s,   __Pyx_CyFunction_SetAnnotationsDict(%s, %s);(0   R  RW  t   is_specializationR1  R2  R   R8  Ry  R   t   is_staticmethodR   t   is_classmethodR  R  R  R   t   is_anonymousR<  R   R   R}  R]  R  R[  R   RK  R   Rf   R  t   requires_classobjt   pyclass_stackR   R  R   t
   class_cellRS  R  R  RY   R  R   R  R   Rz  R{  R  R\  R|  (
   RF   R   RW  R  t   code_object_resultt   flagst
   class_nodeR  Rm  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  $  s    										 				 		 	 		N(   RH   RI   R   RB   R  Ry  R   R~  RW  R  R  R  Rz  R{  R|  R   R}   R   R  R  Rz  R  R   R  R  R_  R  R  R	  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRx  #  s4   					y					t   InnerFunctionNodec           B@  s   e  Z e Z e Z d    Z RS(   c         C@  s   |  j  r d t j Sd S(   Ns   ((PyObject*)%s)R  (   t   needs_self_codeR   t   cur_scope_cname(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s    	(   RH   RI   R   R~  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s   R  c           B@  sD   e  Z d  g Z e Z d Z d   Z d   Z d d  Z	 d   Z
 RS(   t   varnamesc      	   C@  s   t  j |  | j d | t | j  } g  | j j D] } | j r5 | ^ q5 } t | j d g  | | D] } t	 | j d | j ^ qg d d d d |  _
 d  S(   NRW  Rq   R   R   i    R   i   (   R   R  Rf   R   Rq   R  R  RY   R  R  R  (   RF   RW  Rq   Rm  t
   local_vars(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s    (	,c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  )%  s    c         C@  s4   |  j  d  k r- | j t d d d |  _  n  |  j  S(   Nt   codeobjR  i   (   R  RB   R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   ,%  s    c         C@  s  |  j  d  k r- | j t d d d |  _  n  | j |  j   } | d  k rO d  S| j |  j  |  j } | j | j	 d t
 d t d | j	 } t j | j d j   j d  d  } | j | d t d t
 } d	 d
 g } |  j j r | j d  n  |  j j r| j d  n  | j d |  j  t | j  | j | j t |  j j  d j |  p_d t j t j t j |  j j   t j t j | | |  j d t j | j |  j  |  j  f  d  S(   NR  R  i   R  R  R  i    t   utf8t   CO_OPTIMIZEDt   CO_NEWLOCALSt
   CO_VARARGSt   CO_VARKEYWORDSs_   %s = (PyObject*)__Pyx_PyCode_New(%d, %d, %d, 0, %s, %s, %s, %s, %s, %s, %s, %s, %s, %d, %s); %st   |R  i   (   R  RB   R  R   R  R  Rf   RW  R  RY   R   R   R   R  t   get_filenametable_entryR  RX  R   RY  R   Rm   Rq   RZ  R  R<  R   t   empty_bytesR  R   R   (   RF   R   t   funct	   func_namet	   file_patht   file_path_constR  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  1%  sB    	!(	
N(   RH   RI   R   R   R   RB   R  R  R_  R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s   			R  c           B@  sG   e  Z g  Z e Z e Z d    Z d   Z d   Z	 d   Z
 d   Z RS(   c         C@  s;   t  t |   j |  | |  _ |  j j |  _ t |  _ d  S(   N(   RC   R  R  Rm  R}   R   t	   evaluated(   RF   Rf   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  e%  s    	c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   k%  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  n%  s    c         C@  s)   |  j  s% |  j j |  t |  _  n  d  S(   N(   R  Rm  R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  q%  s    	c         C@  s   |  j  j |  j j    S(   N(   R}   R;  Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   v%  s    (   RH   RI   R   R   R   R   R   R  R   R	  R  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  \%  s   				t   DefaultNonLiteralArgNodec           B@  s2   e  Z g  Z d    Z d   Z d   Z d   Z RS(   c         C@  s,   t  t |   j |  | |  _ | |  _ d  S(   N(   RC   R  R  Rm  R  (   RF   Rf   Rm  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s    	c         C@  s   |  j  j |  _ t |  _ |  S(   N(   Rm  R}   R   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   %  s    	c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  %  s    c         C@  s/   d |  j  j t j |  j  j |  j j  j f S(   Ns%   __Pyx_CyFunction_Defaults(%s, %s)->%s(   R  RY   R   Rv  R  Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   %  s    (   RH   RI   R   R  R   R	  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  z%  s
   			R  c           B@  s   e  Z d    Z e d  Z RS(   c         C@  sn   g  } xE | D]= } | j  j s4 t | | |  } n	 | j  } | j |  q Wt t |   j | d | d  S(   NRq   (   RO   R   R  R   RC   R  R  (   RF   Rf   R  R  Rq   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s    	c         C@  s"   t  t |   j | |  j |  S(   N(   RC   R  R   RN  (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   %  s    (   RH   RI   R  R   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s   	
R  c           B@  s   e  Z d    Z RS(   c         C@  s   g  } xr | D]j } t  | j d | j } | j j sL t | | |  } n	 | j } | j t | j d | d |  q Wt t	 |   j
 | d | d  S(   NR   R  R  (   R  Rf   RY   RO   R   R  R   R  RC   R  R  (   RF   Rf   R  R  R  Rm  RY   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s    	&(   RH   RI   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s   t
   LambdaNodec           B@  s;   e  Z d  g Z e j d  Z d   Z d   Z d   Z RS(   RW  s   <lambda>c         C@  sv   | j  d  |  _ |  j _ t |  j _ t |  j _ |  j j |  t |  j _ |  j j j	 |  _	 | j
 |  j  d  S(   Nt   lambda(   R  t   lambda_nameRW  R   t   no_assignment_synthesisR  R  t   is_cyfunctionR   R}  t   add_lambda_def(   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s    c         C@  s+   |  j  j |  |  _  t t |   j |  S(   N(   RW  R   RC   R  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   %  s    c         C@  s*   |  j  j |  t t |   j |  d  S(   N(   RW  R0  RC   R  R	  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  %  s    (	   RH   RI   Ry  R   R  RY   R  R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s
   
				t   GeneratorExpressionNodec           B@  s/   e  Z e j d   Z e Z d   Z d   Z RS(   t   genexprc         C@  sb   | j  d  |  _ t t |   j |  t |  j _ t |  j _ t |  j _	 t
 j |  j j _ d  S(   NR  (   R  t   genexpr_nameRC   R  R  R   RW  R  R  R  R*   t   pyfunction_noargsR   RG  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s    c         C@  s^   | j  d |  j   |  j j j |  j   | j |  j   |  j  f  | j |  j	    d  S(   Ns   %s = %s(%s); %s(
   R   R   RW  R   R\  R  R   Rf   R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  %  s    		 (	   RH   RI   R   R  RY   R   R~  R  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s   	
t   YieldExprNodec           B@  sb   e  Z d  g Z e Z d Z e Z e Z e Z	 d Z
 d   Z d   Z d   Z d   Z d   Z RS(   Rm  i    t   yieldc         C@  s   |  j  s |  j r6 |  j r6 t |  j d |  j  n  d |  _ |  j d  k	 r |  j j	 |  |  _ |  j j
 j s |  j |  q n  |  S(   Ns   '%s' not supported herei   (   t	   label_numt   is_yield_fromt   in_async_genR   Rf   t   expr_keywordR   Rm  RB   R   R}   RX   t   coerce_yield_argument(   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    &  s    	c         C@  s   |  j  j |  |  _  d  S(   N(   Rm  RN  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  
&  s    c         C@  s   |  j  rr |  j  j |  |  j  j |  | j d t j |  j  j t  f  |  j  j |  |  j  j	 |  n | j
 t j t  |  j |  d  S(   Ns   %s = %s;(   Rm  R  R  R   R   R>  R   R   R  R  t   put_init_to_py_nonet   generate_yield_code(   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s    	c         C@  s  | j  |  j j d d   \ } } | j |  g  } | j j j   x | j j   D]p \ } } } | j j j |  } | j	 | | | f  | j
 r | j |  n  | j d t j | | f  qW W| j t j  | j j d }	 | j j d }
 |	 s|
 r'| j t j d | j j n  | j   | j j d k	 rZ| j d t j  n | j d t j  | j d	 |  j rd
 n d |  j rd n d f  | j d t j | f  |  j r|  j r| j d t j  n | j d t j  | j |  xg | D]_ \ } } } | j d | t j | f  | j
 r| j d t j | f  | j |  qqW|  j | t j  |  j r|  j |  | j  d |  j!   t j f  | j" |  j!   t#  n  d S(   s   
        Generate the code to return the argument in 'Naming.retval_cname'
        and to continue at the yield label.
        t    R  s   %s->%s = %s;t   profilet	   linetraceR   s"   __Pyx_Coroutine_SwapException(%s);s+   __Pyx_Coroutine_ResetAndClearException(%s);s*   /* return from %sgenerator, %sing value */s   async R  t   awaitR  s   %s->resume_label = %d;s,   return __Pyx__PyAsyncGenValueWrapperNew(%s);s
   return %s;s   %s = %s->%s;s   %s->%s = 0;s	   %s = %s; N($   t   new_yield_labelR  t   replacet	   use_labelR   t   closure_tempst   resett   temps_in_useR   R   RX   t   put_xgiverefR   R   R  R>  R1  RR   t   put_trace_returnt	   gil_ownedt   put_finish_refcount_contextt   current_exceptRB   Rw  R  t   is_awaitR  RP  t!   generate_sent_value_handling_codet   sent_value_cnameR   R   R  R   R  R   (   RF   R   R  t
   label_namet   savedR   R}   R   t
   save_cnameR  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  sP    	!
				 c         C@  s    | j  | j | |  j   d  S(   N(   R   R   Rf   (   RF   R   t   value_cname(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  S&  s    (   RH   RI   R   R   R}   R  R   R  R  R  R  R   R  R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  %  s   		
			8t   _YieldDelegationExprNodec           B@  s2   e  Z d    Z d e d  Z d   Z d   Z RS(   c         C@  s   t     d  S(   N(   t   NotImplementedError(   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   yield_from_funcX&  s    c         C@  s#  | d  k r |  j j |  n  | j d t j |  j |  t j | d  k r[ |  j j   n | f  | d  k r |  j j	 |  |  j j
 |  n | r | j | t  n  | j t j  | j d t j  |  j |  | j d  |  j r|  j |  n |  j |  | j d  d  S(   Ns   %s = %s(%s, %s);s   if (likely(%s)) {s   } else {R   (   RB   Rm  R  R   R   R>  R  Rw  R   R  R  R  R   RP  R  R   t   fetch_iteration_resultt   handle_iteration_exception(   RF   R   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  [&  s(    	&	c         C@  sK   | j  d |  j    | j |  j d |  j    | j |  j    d  S(   Ns
   %s = NULL;s(   __Pyx_PyGen_FetchStopIterationValue(&%s)(   R   R   R  Rf   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  t&  s    c         C@  sU   | j  d  | j  d  | j  d  | j  d | j |  j   | j  d  d  S(   Ns,   PyObject* exc_type = __Pyx_PyErr_Occurred();s   if (exc_type) {s   if (likely(exc_type == PyExc_StopIteration || (exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)))) PyErr_Clear();s   else %sR   (   R   R   Rf   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   z&  s
    N(   RH   RI   R  RB   R   R  R  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  W&  s   		t   YieldFromExprNodec           B@  s&   e  Z e Z d  Z d   Z d   Z RS(   s
   yield fromc         C@  s;   |  j  j j s" t |  j d  n  |  j  j |  |  _  d  S(   Ns-   yielding from non-Python object not supported(   Rm  R}   R
  R   Rf   RN  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s    c         C@  s    | j  j t j d d   d S(   Nt   GeneratorYieldFroms   Coroutine.ct   __Pyx_Generator_Yield_From(   R1  R2  R   R8  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s    (   RH   RI   R   R  R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s   	t   AwaitExprNodec           B@  s&   e  Z e Z d  Z d   Z d   Z RS(   R  c         C@  s+   |  j  d  k	 r' |  j  j |  |  _  n  d  S(   N(   Rm  RB   RN  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s    c         C@  s    | j  j t j d d   d S(   Nt   CoroutineYieldFroms   Coroutine.ct   __Pyx_Coroutine_Yield_From(   R1  R2  R   R8  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s    (   RH   RI   R   R  R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s   	t   AwaitIterNextExprNodec           B@  s#   e  Z d    Z d   Z d   Z RS(   c         C@  sa   | j  j t j d d   | j d  | j d  | j d  | j d  | j d  d  S(   Nt   StopAsyncIterations   Coroutine.cs,   PyObject* exc_type = __Pyx_PyErr_Occurred();s   if (unlikely(exc_type && (exc_type == __Pyx_PyExc_StopAsyncIteration || ( exc_type != PyExc_StopIteration && exc_type != PyExc_GeneratorExit && __Pyx_PyErr_GivenExceptionMatches(exc_type, __Pyx_PyExc_StopAsyncIteration))))) {s   PyErr_Clear();s   break;R   (   R1  R2  R   R8  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   _generate_break&  s    c         C@  s<   | j  s t d   |  j |  t t |   j |  d  S(   Ns1   AwaitIterNextExprNode outside of 'async for' loop(   t   break_labelR   R	  RC   R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s    c         C@  s]   | j  s t d   | j d |  |  j |  | j | j |  j   | j d  d  S(   Ns1   AwaitIterNextExprNode outside of 'async for' loops   if (unlikely(!%s)) {R   (   R
  R   R   R	  R   Rf   (   RF   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s
    (   RH   RI   R	  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s   	
	t   GlobalsExprNodec           B@  s5   e  Z e Z d  Z d   Z d Z d   Z d   Z RS(   i   c         C@  s   | j  t j  |  S(   N(   R2  R   t   globals_utility_code(   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   &  s    s   Constructing globals dictc         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  &  s    c         C@  sI   | j  d |  j   | j |  j   |  j  f  | j |  j    d  S(   Ns   %s = __Pyx_Globals(); %s(   R   R   R   Rf   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  &  s    		 (	   RH   RI   R   R}   R   R   R  R_  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s   		t   LocalsDictItemNodec           B@  s   e  Z d    Z RS(   c         C@  sy   |  j  j |  |  _  |  j j |  |  _ |  j  j |  |  _  |  j j j |  rl |  j j |  |  _ n	 d  |  _ |  S(   N(   R  R   R   RN  R}   R  RB   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   &  s    	(   RH   RI   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s   t   FuncLocalsExprNodec           B@  s   e  Z d    Z d   Z RS(   c         C@  s   t  g  | j j   D] } | j r | j ^ q  } g  | D]< } t | d t | d | d t | d | d t ^ q; } t j	 |  | d | d t d  S(   NR  R   RY   R;  R  RO  (
   Rk  R  R  RY   R  R  R-  R   R  R  (   RF   Rf   RZ   R   R  R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s    1Fc         C@  sJ   t  t |   j |  } g  | j D] } | j d  k	 r" | ^ q" | _ | S(   N(   RC   R  R   R  R   RB   (   RF   RZ   Rh   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   &  s    (   RH   RI   R  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s   	
t   PyClassLocalsExprNodec           B@  s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C@  s   t  j |  |  | |  _ d  S(   N(   R{  R  t   pyclass_dict(   RF   Rf   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s    c         C@  s   |  j  j |  _ t |  _ |  S(   N(   R  R}   R   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   &  s    	c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  &  s    c         C@  s   |  j  j   S(   N(   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   '  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  '  s    (   RH   RI   R  R   R_  R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  &  s
   				c         C@  s9   | j  r t |   S| j r, t |  | j  St |  |  S(   N(   R	  R  R
  R  R   R  (   Rf   t
   scope_nodeRZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   LocalsExprNode	'  s
    	
	t   nott   ~R  RF  t   UnopNodec           B@  s   e  Z d  g Z e Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z e d  Z RS(   R  c         C@  s&   t  |  j } | |  j j  |  _ d  S(   N(   t   compile_time_unary_operatorsR	   R  Rd   (   RF   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   -'  s    c         C@  sy   t  j |  j  } | s2 t |  j d |  j  n  |  j j |  } y | |  SWn  t k
 rt } |  j |  n Xd  S(   Ns3   Unary '%s' not supported in compile-time expression(	   R  RQ   R	   R   Rf   R  R   R  R   (   RF   R   R  R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   1'  s    	c         C@  sY   |  j  j |  } | j s$ | j rI | j |  j  } | d  k	 rI | Sn  |  j | |  S(   N(   R  Rk   R=  R&  t   find_cpp_operation_typeR	   RB   t   infer_unop_type(   RF   RZ   t   operand_typet   cpp_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   ='  s    c         C@  s   | j  r t S| Sd  S(   N(   RX   R   (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  E'  s    	c         C@  sA   |  j  j r4 |  j  j j r4 |  j  j t k	 r4 t Sn  t j |   S(   N(   R  R}   R  R   R   R   R_  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  K'  s    c         C@  s   |  j  j |  |  _  |  j |  rQ t t |  j |  j  j   |  _ d |  _ nW |  j   r |  j	 |  t
 |  _ d |  _ n) |  j   r |  j |  n |  j |  |  S(   Ni   (   R  R   t   is_pythran_operationR>   R5   R	   R}   R   t   is_py_operationt   coerce_operand_to_pyobjectR   t   is_cpp_operationt   analyse_cpp_operationt   analyse_c_operation(   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   Q'  s    !	c         C@  s   |  j  j   S(   N(   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   `'  s    c         C@  s   |  j  j j p |  j  j j S(   N(   R  R}   RX   RX  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  c'  s    c         C@  s.   t  |  } |  j j } | o- | j p- | j S(   N(   R6   R  R}   R  R2   (   RF   RZ   t
   np_pythrant   op_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  f'  s    c         C@  s   |  j    r |  j   n  d  S(   N(   R  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   k'  s    c         C@  s   |  j  j } | j S(   N(   R  R}   R=  (   RF   R}   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  o'  s    c         C@  s   |  j  j |  |  _  d  S(   N(   R  RN  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  s'  s    c         C@  s:  |  j  j rh | j d  | j d |  j    | j d |  j   |  j   |  j |  j j   f  n |  j j  j r |  j |  n |  j	 r6|  j
   r|  j d k rt | |  j d |  j   |  j |  j j   f |  j  j r |  j   n d  |  j |  j  q6| j d |  j   |  j |  j j   f  n  d  S(   Ns   // Pythran unaryops   __Pyx_call_destructor(%s);s   new (&%s) decltype(%s){%s%s};RF  s   %s = %s %s;(   R}   R2   R   R   R	   R  R   RX   t   generate_py_operation_codeR   R  R  R   Rf   RB   R   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  v'  s"    				"c         C@  sg   |  j  |  } | j d |  j   | |  j j   | j |  j   |  j  f  | j |  j    d  S(   Ns   %s = %s(%s); %s(   t   py_operation_functionR   R   R  R   R   Rf   R  (   RF   R   RO  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR#  '  s    	 c         C@  sE   |  j  j j s5 t |  j d |  j |  j  j f  n  t j |  _ d  S(   Ns"   Invalid operand type for '%s' (%s)(   R  R}   R2  R   Rf   R	   R   R(   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt
   type_error'  s    c         C@  s  | j  |  j |  j g  } | r6 | r6 |  j   d  S| r | j j |  _ | j j |  _ |  j d k r t |  _ |  j d  k r | j
 t j d d   q q n d |  _ d |  _ |  j j j |  j  } | r
| d  k r
t |  j d |  j t f  |  j   d  S| |  _ d  S(   NRF  R  s   CppSupport.cppR  s    '%s' operator not defined for %s(   R  R	   R  R%  R}   R  R   R   R   RB   R2  R   R8  R  R   Rf   (   RF   RZ   t   overload_checkR   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  '  s(    
	"		
(   RH   RI   R   R   t   infixR   R   Rk   R  R_  R   R   R  R  R   R  R  R	  R#  R%  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  '  s$   															
	t   NotNodec           B@  sD   e  Z d  Z e j Z d   Z d   Z d   Z d   Z	 d   Z
 RS(   t   !c         C@  s   |  j  j |  _ d  S(   N(   R  Rd   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   '  s    c         C@  sB   |  j  j |  } y	 | SWn  t k
 r= } |  j |  n Xd  S(   N(   R  R   R  R   (   RF   R   R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   '  s
    	c         C@  s   t  j S(   N(   R   R  (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  '  s    c         C@  sS   |  j  j |  |  _  |  j  j } | j r: |  j |  n |  j  j |  |  _  |  S(   N(   R  R   R}   R=  R  R   (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   '  s    	c         C@  s   d |  j  j   S(   Ns   (!%s)(   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   '  s    (   RH   RI   R	   R   R  R}   R   R   R  R   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR(  '  s   						t   UnaryPlusNodec           B@  s)   e  Z d  Z d   Z d   Z d   Z RS(   RF  c         C@  s"   t  j |  j j t  j  |  _ d  S(   N(   R   R  R  R}   R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   '  s    c         C@  s   d S(   Nt   PyNumber_Positive(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR$  '  s    c         C@  s.   |  j    r d |  j j   S|  j j   Sd  S(   Ns   (+%s)(   R  R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   '  s    (   RH   RI   R	   R   R$  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR*  '  s   		t   UnaryMinusNodec           B@  s2   e  Z d  Z d   Z d   Z d   Z d   Z RS(   R  c         C@  st   |  j  j j r0 t j |  j  j t j  |  _ n( |  j  j j rN t j |  _ n
 |  j   |  j j rp t	 |  _
 n  d  S(   N(   R  R}   R  R   R  R  RS  R%  R?  R   R'  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   '  s    
c         C@  s   d S(   Nt   PyNumber_Negative(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR$  '  s    c         C@  sD   |  j  r d |  j j   Sd |  j j j d  |  j j   f Sd  S(   Ns   (-%s)s   %s(%s)R  (   R'  R  R   R}   t   unary_op(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   '  s    	c         C@  s!   |  j  j   } | r d | Sd  S(   Ns   (-%s)(   R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    (  s    (   RH   RI   R	   R   R$  R   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR,  '  s
   			t	   TildeNodec           B@  s#   e  Z d    Z d   Z d   Z RS(   c         C@  s\   |  j  j j r0 t j |  j  j t j  |  _ n( |  j  j j rN t j |  _ n
 |  j   d  S(   N(   R  R}   R8  R   R  R  RS  R%  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   (  s    c         C@  s   d S(   Nt   PyNumber_Invert(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR$  (  s    c         C@  s   d |  j  j   S(   Ns   (~%s)(   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   (  s    (   RH   RI   R   R$  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR/  (  s   			t	   CUnopNodec           B@  s   e  Z d    Z RS(   c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  (  s    (   RH   RI   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR1  (  s   t   DereferenceNodec           B@  s)   e  Z d  Z d   Z d   Z d   Z RS(   R   c         C@  s   | j  r | j St j Sd  S(   N(   R&  R'  R   R(   (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  "(  s    	c         C@  s2   |  j  j j r$ |  j  j j |  _ n
 |  j   d  S(   N(   R  R}   R&  R'  R%  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   ((  s    c         C@  s   d |  j  j   S(   Ns   (*%s)(   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   .(  s    (   RH   RI   R	   R  R   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR2  (  s   		t   DecrementIncrementNodec           B@  s   e  Z d    Z d   Z RS(   c         C@  s_   |  j  j j r0 t j |  j  j t j  |  _ n+ |  j  j j rQ |  j  j |  _ n
 |  j   d  S(   N(   R  R}   R  R   R  R  R&  R%  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   5(  s    c         C@  sA   |  j  r# d |  j |  j j   f Sd |  j j   |  j f Sd  S(   Ns   (%s%s)(   t	   is_prefixR	   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   >(  s    	(   RH   RI   R   R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR3  2(  s   		c         @  s      f d   S(   Nc         @  s   t  |  d   d  | S(   NR4  R	   (   R3  (   Rf   R  (   R4  R	   (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   <lambda>E(  R  (    (   R4  R	   (    (   R4  R	   s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   inc_dec_constructorD(  s    t   AmpersandNodec           B@  sD   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   t   &c         C@  s   t  j |  S(   N(   R   R  (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  N(  s    c         C@  s  |  j  j |  |  _  |  j  j } | j r@ |  j | d t n  | j p^ | j p^ |  j  j   s | j	 rz |  j
 d  n |  j
 d |  |  S| j r |  j
 d |  j  j r d |  j  j n |  j  j r d |  j  j n d  |  S| j s |  j rt j |  |  _ n  |  S(   NR&  s'   Cannot take address of memoryview slices&   Taking address of non-lvalue (type %s)s    Cannot take address of Python %ss   variable '%s's   object attribute '%s't   object(   R  R   R}   R=  R  R   R   R!  R   R   R   RX   Rk  RY   Ro  RQ  R   R  (   RF   RZ   t   argtype(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   Q(  s$    	!			c         C@  s   |  j  j   S(   N(   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   f(  s    c         C@  s)   t  |  j |  t j |  _ d |  _ d  S(   Ns   <error>(   R   Rf   R   R(   R}   R  (   RF   t   mess(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   i(  s    c         C@  s   d |  j  j   S(   Ns   (&%s)(   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   n(  s    c         C@  s~   |  j  j j rz |  j d k rz t | |  j d |  j   |  j |  j  j   f |  j j rd |  j   n d  |  j
 |  j  n  d  S(   NRF  s   %s = %s %s;(   R  R}   R=  R  R   Rf   R   R	   RX   RB   R   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  q(  s
    "(	   RH   RI   R	   R  R   R   R   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR7  H(  s   					c      	   C@  s   t  | t  rV | d k rV t d | j d t t j | j   d | j d | j  St  | t	  r | j
 | k o d k n r t |  d | f d d	  n  t | |  d
 | d | S(   NR  Rf   R   R  R  s   +-sA   Python has no increment/decrement operator: %s%sx == %s(%sx) == xi   i   R	   R  (   Rc   R   Rf   R^   R   R  R   R  R  R  R	   R   t   unop_node_classes(   Rf   R	   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt	   unop_node(  s    (.R  c           B@  s   e  Z d  g Z d Z Z Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z d   Z d	   Z d d
  Z d   Z d   Z d   Z RS(   R  c         C@  s   d S(   N(    (    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   (  s    c         C@  sI   |  j  d  k rB |  j j |  } |  j j | |  \ } |  _  n  |  j  S(   N(   R}   RB   R'  R  t
   declarator(   RF   RZ   R'  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   (  s    !c         C@  s  |  j  d  k rB |  j j |  } |  j j | |  \ } |  _  n  |  j j   r^ |  j   n  |  j  j r t	 |  j
 d  t j |  _  n  |  j j |  |  _ |  j  t j k r |  j j |  S|  j  j } |  j j  j } | r'| r'|  j j   r'|  j  j r'|  j  j r't	 |  j
 d  q'n  | r"| r"|  j  t k rb|  j j  j rbt |  j |  S|  j j  j |  rt |  _ |  j j |  j  |  |  _ q|  j j  j r|  j j  j j p|  j j  j j s
t	 |  j
 d  q
n# t |  j
 d |  j j  |  j  f  |  j j |  |  _ no| r| r|  j  j  |  r_|  j j |  j  |  |  _ q|  j  j r|  j  j j p|  j  j j st	 |  j
 d  qqt |  j
 d |  j  |  j j  f  n | r1| r1|  j! rt" |  j |  j  | d t# |  _ qt$ |  j t%  r|  j j |  j  |  |  _ qn` |  j  j& rd|  j j  j& rd|  j j |  |  _ n- |  j j  j' r|  j j |  j  |  |  _ n  |  j  j r|  j  j j r|  j  j j( r|  j j  } | j r| j } n  | j r| j( rt |  j
 d d  qn  |  S(	   Ns   Cannot cast to a function types>   Casting temporary Python object to non-numeric non-Python types>   Python objects cannot be cast from pointers of primitive typess8   No conversion from %s to %s, python object pointer used.s<   Python objects cannot be cast to pointers of primitive typest   notnonesQ   Casting a GIL-requiring function into a nogil function circumvents GIL validationi   ()   R}   RB   R'  R  R>  R  Rp   R   R   R   Rf   R   R(   R   R  R   RX   R   R  R=  R   R8  R9  R  R   R   R.  R&  R   R  R   R   t   create_from_py_utility_codet	   typecheckR<  R   Rc   R  R?  R%  R   (   RF   RZ   R'  R  t   to_pyt   from_pyR"  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   (  sl    !		$	$!*		c         C@  s   |  j  j   S(   N(   R  R^  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^  (  s    c         C@  s   |  j  j   S(   N(   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   (  s    c         C@  s   |  j  p |  j j   S(   N(   R   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   (  s    c         C@  s/   |  j  r+ |  j  j r+ |  j r+ |  j   n  d  S(   N(   R}   RX   R   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   (  s    c         C@  s   |  j  j   S(   N(   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   (  s    c         C@  s   |  j  |  j j  |  _ d  S(   N(   R   R  Rd   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   (  s    c         C@  s   | d  k r |  j j   } n  |  j j r |  j j   } |  j j j r} |  j j j d |  } |  j j j d |  } n |  j j j |  } d } d |  j j | | f S|  j j |  Sd  S(   Ns   __Pyx_CREAL(%s)s   __Pyx_CIMAG(%s)R  s
   %s(%s, %s)(   RB   R  R   R}   R?  t	   real_typeR;  R  (   RF   t   operand_resultt	   real_partt	   imag_part(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   (  s    	c         C@  s)   |  j  j   } | r% |  j j |  Sd  S(   N(   R  R   R}   R;  (   RF   RE  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   
)  s    c         C@  s:   |  j  j r& |  j r& |  j j |  St j |  |  Sd  S(   N(   R}   RX   R   R  R   R   (   RF   R}   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   )  s    c         C@  sR   |  j  rN | j d |  j   |  j j   f  | j |  j   |  j    n  d  S(   Ns   %s = (PyObject *)%s;(   R   R   R   R  R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  )  s    		N(   RH   RI   R   RB   R'  R>  R}   R   Rk   R   R^  R   R   R   R   R   R   R   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  (  s   				@								s   Start may not be givens'   Stop must be provided to indicate shapesV   Strides may only be given to indicate contiguity. Consider slicing it after conversions2   Can only create cython.array from pointer or arrays7   Pointer base type does not match cython.array base typeR0  c           B@  sw   e  Z d  Z d d g Z d
 Z e Z d Z d
 Z	 e
 j Z d   Z d   Z d   Z d   Z d   Z e d	    Z RS(   sn  
    Used when a pointer of base_type is cast to a memoryviewslice with that
    base type. i.e.

        <int[:M:1, :N]> p

    creates a fortran-contiguous cython.array.

    We leave the type set to object so coercions to object are more efficient
    and less work. Acquiring a memoryviewslice from this will be just as
    efficient. ExprNode.coerce_to() will do the additional typecheck on
    self.compile_time_type

    This also handles <int[:, :]> my_c_array


    operand             ExprNode                 the thing we're casting
    base_type_node      MemoryViewSliceTypeNode  the cast expression node
    R  t   shapest   cc      	   C@  sB  d d l  m } |  j j |  |  _ |  j r: |  j } n |  j j j |  } |  j j } t |  _	 g  |  _
 t |  } |  j j	 } |  j j	 j r |  j j	 j r t |  j j t  |  Sg  } | j r xV | j r | j | j  | j } q Wn- | j r| j } n t |  j d |  |  S| j |  p9| j sSt |  j j t  |  S|  j j	 j rt |  | k rt |  j j d | t |  f  |  Sxt |  D]\ } }	 |	 j j st |	 j j t  |  S|	 j j r:| r#| | }
 t |  j d t |
  d |
 d t j |	 _ q:t |	 j t   |  Sn  |	 j j |  |	 _ |	 j j! |  j" |  } | j# s| j$ |  n  |  j
 j |  | d | d f k } |	 j% j r[| r[|	 j% j |  |	 _% |	 j% j	 j& r|	 j% j# r|	 j% j	 j' rt |	 j% j d	  |  S|	 j% j( |  d k r@t |	 j% j t)  |  S| d k rd
 |  _* qq|	 j% j r| rt |	 j% j t)  |  SqW|  j j+ s|  j j$ |  |  _ n  d g t |  } |  j* d
 k rd | d <n
 d | d <t j, | |  |  _- |  j- j. |  j  |  j/ |  |  _	 | j0 |  | j1 | j2  |  S(   Ni   (   R  s   unexpected base type %s founds/   Expected %d dimensions, array has %d dimensionsR   Rd   R}   i    s   Expected an integer literalt   fortranR~  t   followt   contigi(   R~  RK  (   R~  RL  (   R~  RL  (3   R  R  R  R   t   array_dtypet   base_type_nodeR  R  R(   R}   RH  Rm   R&  R   R   Rf   t   ERR_NOT_POINTERR   Rh  R'  R)  R   t   ERR_BASE_TYPER  R   R  t	   ERR_STARTR   R   R^   R   R  t   ERR_NOT_STOPR.  t
   shape_typeR   R]  R   R8  R2  R   t	   ERR_STEPSt   modeRk  R  R,  t   validate_memslice_dtypet   get_cython_array_typet   use_cython_array_utility_codeR2  t   typeinfo_to_format_code(   RF   RZ   R  RM  R  R%  R'  t   array_dimension_sizest   axis_not   axist   dimsizet   shapet   first_or_last(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   E)  s    			 		!
	
c         C@  s7   |  j  r t d   n  | j j |  j t  |  _  d  S(   Ns   temp allocated multiple times(   R   R   R   R   R}   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   )  s    	c         C@  s   |  j  |  S(   N(   RW  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   )  s    c         C@  s/   | j    j j } | j   | j j d  j S(   Nt   array(   R  Rr  t   cython_scopet   load_cythonscopet	   viewscopeR  R}   (   RF   RZ   Ra  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRW  )  s    
c         @  s"  d d l  m } g  |  j D] } |  j j | j    ^ q } |  j j }   j j	 t
 t  }   j j	 t
 t  } d | j   } | j   |  }	 |  j j j r   j d |  j j      j d    j   j |  j j     j d  n    j d | |	 f  d t |  }
   j d	 | |
 d
 j |  f  d | | | f }   j   j | |  j     j |    j |  |  j   | | | |  j |  j j   f }   j d |    j   j |  j   |  j     j |  j      f d   } | |  | |  d  S(   Ni   (   R  s
   sizeof(%s)s
   if (!%s) {sQ   PyErr_SetString(PyExc_ValueError,"Cannot create cython.array from NULL pointer");R   s%   %s = __pyx_format_from_typeinfo(&%s);s    __PYX_BUILD_PY_SSIZE_T s+   %s = Py_BuildValue((char*) "(" %s ")", %s);s   , s#   !%s || !%s || !PyBytes_AsString(%s)sP   %s = __pyx_array_new(%s, %s, PyBytes_AS_STRING(%s), (char *) "%s", (char *) %s);c         @  s$     j  |  t    j j |   d  S(   N(   R  R   R   R   (   Rw  (   R   (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   dispose)  s    (   R  R  RH  RS  R;  R   R,  R7  R   R   R   R   R  t   get_type_information_cnameR  R}   R&  R   R   Rf   Rm   R<  R   R  RU  R   (   RF   R   R  R^  RH  R7  t   shapes_tempt   format_tempt   itemsizet	   type_infot   buildvalue_fmtR[   RI  Rd  (    (   R   s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  )  sB    +		
	"
c   	   	   C@  s   | j  } | j } t |  } g  } x; | j ra | j t | d | d | d |  | j } q' Wt | d d d t | d _	 t
 j | d | d	 | } t | d	 | d
 | d | } | j |  } | S(   s@   
        Given a C array type, return a CythonArrayNode
        R   R   R   R   R  R  iR  RN  R  RM  (   Rf   R}   R}  R   R   R  R'  R   R   R   R   t   MemoryViewSliceTypeNodeR0  R   (	   RE   t   src_nodeRZ   Rf   R'  R  R  t   memslicenodeR   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR1  )  s    		
	N(   RH   RI   R  R   RB   RH  R   R   RU  RM  R   R   RS  R   R   Rk   RW  R	  Rz  R1  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR0  ')  s   		h				0t
   SizeofNodec           B@  s#   e  Z e j Z d    Z d   Z RS(   c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   *  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  *  s    (   RH   RI   R   Rm  R}   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRn  *  s   		R  c           B@  s/   e  Z g  Z d Z d    Z d   Z d   Z RS(   c   
      C@  s.  d r |  j  j r |  j  j } | j | d  } | j d  k r t d |  j d | d  } x0 | d D]$ } t d |  j d | d |  } qg Wt d |  j d | d |  j  j  } t	 |  j d | j
 |  } | Sn  |  j d  k r |  j  j |  } |  j j | |  \ } }	 |	 |  _ n  |  j   |  S(   Ni    Rf   RY   i   RP  RQ  R  (   R'  t   module_pathR  R  RB   R-  Rf   RW  RY   t   SizeofVarNodeR   R  R  R>  t
   check_type(
   RF   RZ   R   RP  R  R  Rh   R'  R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   *  s     "$
c         C@  s|   |  j  } | s d  S| j r9 | j r9 t |  j d  n? | j rU t |  j d  n# | j   sx t |  j d |  n  d  S(   Ns    Cannot take sizeof Python objects   Cannot take sizeof voids'   Cannot take sizeof incomplete type '%s'(   R  RX   R  R   Rf   R   t   is_complete(   RF   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRq  ,*  s    		c         C@  s>   |  j  j r' |  j  j d d d } n |  j  j   } d | S(   NR  t   derefi   s   (sizeof(%s))(   R  R  R   R  (   RF   R-  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   7*  s    N(   RH   RI   R   RB   R  R   Rq  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  *  s
   		Rp  c           B@  s,   e  Z d  g Z d   Z d   Z d   Z RS(   R  c         C@  sw   |  j  j |  } | r^ | |  _ |  j j rH |  j j | j  |  _ n  t |  _ |  j   n |  j  j	 |  |  _  |  S(   N(
   R  R   R  R%  R  R:  R  R   Rq  R   (   RF   RZ   t   operand_as_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   H*  s    		c         C@  s   d |  j  j   S(   Ns   (sizeof(%s))(   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   V*  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  Y*  s    (   RH   RI   R   R   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRp  A*  s   			t
   TypeidNodec           B@  sb   e  Z e j Z d  g Z d Z d Z d Z	 d   Z
 d   Z d   Z d   Z d   Z d   Z RS(	   R  i   c         C@  s\   | } x | j  s | j } q	 W| j d |  j  } | j d  } t j t j | j   S(   Ns   libcpp.typeinfoRi  (	   R	  R  t   find_moduleRf   R  R   R  t   c_const_typeR}   (   RF   RZ   t
   env_modulet   typeinfo_modulet   typeinfo_entry(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   get_type_info_typel*  s    c         C@  s  |  j  |  } | s& |  j d  |  S| |  _ |  j j |  } | r\ | |  _ t |  _ n |  j j |  |  _ t	 |  _ |  j j j
 r |  j d  |  S|  j j j r |  j d  |  S|  j j j   s |  j d |  j j  |  S| j t j d d   |  S(   NsK   The 'libcpp.typeinfo' module must be cimported to use the typeid() operators$   Cannot use typeid on a Python objects   Cannot use typeid on voids)   Cannot use typeid on incomplete type '%s'R  s   CppSupport.cpp(   R{  R   R}   R  R   R  R   R  R   R   RX   R   Rr  R2  R   R8  (   RF   RZ   Ri  t   as_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   t*  s,    			c         C@  s)   t  |  j |  t j |  _ d |  _ d  S(   Ns   <error>(   R   Rf   R   R(   R}   R  (   RF   R;  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   *  s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   *  s    c         C@  s   |  j  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   *  s    c         C@  sZ   |  j  r |  j j   } n |  j j   } t | |  j d |  j | f d  d  |  j  d  S(   Ns   %s = typeid(%s);(	   R  R  R  R   R   Rf   R   RB   R  (   RF   R   R-  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  *  s    	N(   RH   RI   R   R(   R}   R   RB   R  R  R   R{  R   R   R   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRu  ]*  s   							t
   TypeofNodec           B@  sJ   e  Z d Z e Z d  g Z d   Z d   Z d   Z	 d   Z
 d   Z RS(   R  c         C@  sj   |  j  j |  |  _  t j t |  j  j   } t |  j d | } | j |  } | j |  |  _	 |  S(   NR   (
   R  R   R   R  R^   R}   R  Rf   RN  R  (   RF   RZ   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   *  s    c         C@  s   |  j  j |  |  _  |  j  j S(   N(   R  R   R}   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   *  s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  *  s    c         C@  s   |  j  j |  d  S(   N(   R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  *  s    c         C@  s   |  j  j   S(   N(   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   *  s    N(   RH   RI   RB   R  R   R}   R   R   R   R_  R  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR}  *  s   					c         C@  s7   y |  j  } Wn t k
 r) | j } n X| |  |  S(   N(   t
   __matmul__Ro   t   __rmatmul__(   R  t   bR  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   matmul_operator*  s
    t   <s   <=s   ==s   !=s   >=t   >R  t   is_notR8  t   /s   //s   <<t   %R   R  s   **s   >>t   ^t   @c         C@  s
   |  | k S(   N(    (   t   xt   seq(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR5  *  R  t   inc         C@  s
   |  | k S(   N(    (   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR5  *  R  t   not_inc         C@  s6   t  j |  j  } | s2 t |  j d |  j  n  | S(   Ns4   Binary '%s' not supported in compile-time expression(   t   compile_time_binary_operatorsRQ   R	   R   Rf   (   Rh   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   get_compile_time_binop*  s    	t	   BinopNodec           B@  s   e  Z d  d g Z e Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   R  R  c         C@  s/   t  |  j } | |  j j |  j j  |  _ d  S(   N(   R  R	   R  Rd   R  (   RF   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   +  s    	c         C@  sh   t  |   } |  j j |  } |  j j |  } y | | |  SWn  t k
 rc } |  j |  n Xd  S(   N(   R  R  R   R  R  R   (   RF   R   R  R  R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   
+  s    c         C@  s+   |  j  |  j j |  |  j j |  |  S(   N(   R  R  Rk   R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   +  s    c         C@  s;   |  j  j |  |  _  |  j j |  |  _ |  j |  |  S(   N(   R  R   R  R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   +  s    c         C@  s   |  j  |  rQ |  j |  j j |  j j |  |  _ |  j j sE t  d |  _ n |  j   r |  j	 |  |  j |  j j |  j j |  |  _ |  j j
 s t  d |  _ n) |  j   r |  j |  n |  j |  d  S(   Ni   (   R  R  R  R}   R  R2   R   R   R  t   coerce_operands_to_pyobjectsRX   R  R  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  +  s    c         C@  s   |  j  |  j j |  j j  S(   N(   t   is_py_operation_typesR  R}   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  .+  s    c         C@  s"   | j  p! | j  p! | j p! | j S(   N(   RX   RX  (   RF   t   type1t   type2(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  1+  s    c         C@  s   |  j  |  j j |  j j |  S(   N(   t   is_pythran_operation_typesR  R}   R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  4+  s    c         C@  s:   t  |  o9 t |  o9 t |  o9 t |  p9 t |  S(   N(   R6   R1   R2   (   RF   R  R  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  7+  s    c         C@  s   |  j  j j p |  j j j S(   N(   R  R}   R=  R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  =+  s    c         C@  s?  | j  |  j |  j |  j g  } | s5 |  j   d  S| j } | j |  _ | j |  _ |  j d k r d |  _ |  j d  k r | j
 t j d d   q n  | j r | j } n  t | j  d k r |  j j | j d j |  |  _ nD |  j j | j d j |  |  _ |  j j | j d j |  |  _ | j |  _ d  S(   NRF  i   R  s   CppSupport.cppi    (   R  R	   R  R  R%  R}   R  R   R   RB   R2  R   R8  R&  R'  Rm   Rq   R.  R  (   RF   RZ   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  A+  s$    !
			%""c         C@  s  |  j  | | |  r. t t |  j | |   S|  j | |  r | j rU t j } n | j rj t j	 } n  | j r t j } n | j r t j	 } n  | j
 s | j
 r | | k r |  j d k r | S|  j | |  } | d  k	 r | Sn  t S| j s | j rt j S|  j | |  Sd  S(   Ns   **%+|&^(   R  R>   R4   R	   R  R
  R   R   R  R   R  t   infer_builtin_types_operationRB   R   R2  R   R(   t   compute_c_result_type(   RF   R  R  RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  X+  s*    				c         C@  s   d  S(   N(   RB   (   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  q+  s    c         C@  s   |  j    r |  j   n  d  S(   N(   R  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   t+  s    c         C@  s.   |  j  j |  |  _  |  j j |  |  _ d  S(   N(   R  RN  R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  x+  s    c         C@  s   |  j  j   o |  j j   S(   N(   R  R   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   |+  s    c         C@  s1   t  t |   j   p0 |  j j   p0 |  j j   S(   N(   RC   R  R   R  R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   +  s    c      
   C@  s  |  j  j r | j d  | j d |  j    |  j d k r} | j d |  j   |  j   |  j j   |  j j   f  q | j d |  j   |  j   |  j j   |  j |  j j   f  n?|  j j  j rc|  j	 |  } |  j d k r d } n d } | j d |  j   | |  j j
   |  j j
   | | j |  j   |  j  f  | j |  j
    n |  j r |  j   r|  j d	 k rt | |  j d
 |  j   |  j   f |  j  j r|  j   n d  |  j |  j  q | j d
 |  j   |  j   f  n  d  S(   Ns   // Pythran binops   __Pyx_call_destructor(%s);s   **sB   new (&%s) decltype(%s){pythonic::numpy::functor::power{}(%s, %s)};s!   new (&%s) decltype(%s){%s %s %s};s	   , Py_NoneR  s   %s = %s(%s, %s%s); %sRF  s   %s = %s;(   R}   R2   R   R   R	   R  R   R  RX   R$  R   R   Rf   R  R   R  R  R   R   RB   R   R  (   RF   R   RO  t
   extra_args(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  +  sH    								 	c         C@  s]   |  j  j j p |  j j j sM t |  j d |  j |  j  j |  j j f  n  t j |  _ d  S(   Ns'   Invalid operand types for '%s' (%s; %s)(	   R  R}   R2  R  R   Rf   R	   R   R(   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR%  +  s    (   RH   RI   R   R   R  R   R   Rk   R   R  R  R  R  R  R  R  R  R  R   R  R   R   R	  R%  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  *  s*   																			+t
   CBinopNodec           B@  s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C@  s1   t  j |  |  } | j   r- t j | _ n  | S(   N(   R  R   R  R   R(   R}   (   RF   RZ   Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   +  s    c         C@  s   d S(   NR  (    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR$  +  s    c         C@  s&   d |  j  j   |  j |  j j   f S(   Ns
   (%s %s %s)(   R  R   R	   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   +  s    c         C@  sj   d  } | j s | j r0 | j |  j |  } n  | d  k rf | j sN | j rf | j |  j |  } n  | S(   N(   RB   R=  R&  R  R	   (   RF   R  R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  +  s    (   RH   RI   R   R$  R   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  +  s   			c         @  s     f d   } | S(   Nc         @  s   t  |  d   | S(   NR	   (   R  (   Rf   R  (   R	   (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   make_binop_node+  s    (    (   R	   R  (    (   R	   s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   c_binop_constructor+  s    t   NumBinopNodec           B@  s   e  Z e Z e Z d' Z d    Z d   Z	 d   Z
 d   Z d   Z d   Z d   Z d   Z d   Z i d	 d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d  6d! d" 6Z i d# d 6d$ d 6d% d 6d& d 6Z RS((   c         C@  s  |  j  j } |  j j } |  j | |  |  _ |  j sD |  j   d  S|  j j r\ t |  _ n  |  j j r'| j	 d r'|  j
 |  j k r'|  j
 d k r |  j  j   r |  j j   r |  j |  j  |  _  |  _ n  t |  _ | j	 d |  _ |  j j |  j |  j
 | d |  j j   |  _ t |  _ n  |  j sC| j r|| j r||  j  j |  j |  |  _  |  j j |  j |  |  _ n  d  S(   NR  RF  R   s   overflowcheck.foldt	   const_rhs(   RF  R   (   R  R}   R  R  R%  R?  R   R'  R8  RR   R	   t   overflow_op_namesRp   R   t   overflow_checkt   overflow_foldt   overflow_check_binopR  R   R  R.  (   RF   RZ   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   +  s2    	
		c         C@  sr   |  j  | |  rj t j | |  } | t j k rQ |  j d k rf t j } qf n t j | t j  } | Sd  Sd  S(   Ns   |^&(   t   c_types_okayR   R  R  R	   R  RB   (   RF   R  R  t   widest_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  +  s    c         C@  sf   |  j  r |  j  j r t S|  j j  } |  j j  } | rS | j rS | rS | j rS t St t |   j   S(   N(   R}   R  R   R  R  RC   R  R_  (   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  ,  s    c         C@  sF   |  j  j   } |  j j   } | r> | r> d | |  j | f Sd  Sd  S(   Ns
   (%s %s %s)(   R  R   R  R	   RB   (   RF   t   value1t   value2(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   ,  s
    c         C@  s"   | j  s | j o! | j  p! | j S(   N(   R  RS  (   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ,  s    c         C@  s   |  j  rG |  |  _ | j j t j d t |  _ | j d |  j  n  t	 t
 |   j |  |  j  r | j d |  j  | j d  | j | j |  j   | j d  | j j |  j  n  d  S(   NR   s   %s = 0;s   if (unlikely(%s)) {s8   PyErr_SetString(PyExc_OverflowError, "value too large");R   (   R  t   overflow_bit_nodeR   R   R   R  R   t   overflow_bitR   RC   R  R  R   Rf   R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  !,  s    			c         C@  s"  |  j  d  k	 r> d |  j |  j j   |  j j   |  j  j f S|  j j sS |  j	 r t
 |  j  r |  j j   |  j j   } } n |  j j   |  j j   } } d | |  j | f S|  j j |  j  } | d  k r t |  j d |  j |  j f  n  d | |  j j   |  j j   f Sd  S(   Ns   %s(%s, %s, &%s)s
   (%s %s %s)s'   binary operator %s not supported for %ss
   %s(%s, %s)(   R  RB   R  R  R   R  R  R}   R=  R'  R2   R   R	   t	   binary_opR   Rf   (   RF   t   result1t   result2R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   .,  s$    "#c         C@  s%   | j  p$ | j  p$ t j |  | |  S(   N(   R  R  R  (   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  D,  s    		c         C@  s2   |  j  |  j } |  j r. | j d d  } n  | S(   Nt	   PyNumber_t   PyNumber_InPlace(   t   py_functionsR	   R  R  (   RF   R   RV  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR$  I,  s    	t   PyNumber_OrR  t   PyNumber_XorR  t   PyNumber_AndR8  t   PyNumber_Lshifts   <<t   PyNumber_Rshifts   >>t   PyNumber_AddRF  t   PyNumber_SubtractR  t   PyNumber_MultiplyR   t   __Pyx_PyNumber_MatrixMultiplyR  t   __Pyx_PyNumber_DivideR  t   PyNumber_FloorDivides   //t   PyNumber_RemainderR  t   PyNumber_Powers   **Rj  R  t   mult   lshiftN(   RH   RI   R   R'  R   R  RB   R  R   R  R_  R   R  R  R   R  R$  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  +  s>   									
t   IntBinopNodec           B@  s   e  Z d    Z RS(   c         C@  s"   | j  s | j o! | j  p! | j S(   N(   R8  RS  (   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  j,  s    (   RH   RI   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  g,  s   t   AddNodec           B@  s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C@  s?   | j  r | j  s$ | j r( | j r( d St j |  | |  Sd  S(   Ni   (   R
  R  R  R  (   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  s,  s    $c         C@  sT   t  t t t t f } | | k rP | | k rP | t | j |  | j |   Sd  S(   N(   R   R   R   R+   R   R  R   RB   (   RF   R  R  t   string_types(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  y,  s
    c         C@  sg   | j  s | j r( | j s$ | j r( | S| j  s: | j rP | j sL | j rP | St j |  | |  Sd  S(   N(   R&  R   R8  RS  R  R  (   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ,  s    $$c         C@  s   t  } t |  j t  s* t |  j t  r3 t } nF |  j j |  j j } } | t k sd | t k ry | j os | j } n  | r |  j j	   s |  j j	   r d Sd Sn  t
 t |   j |  S(   Nt   __Pyx_PyUnicode_ConcatSafet   __Pyx_PyUnicode_Concat(   R   Rc   R  R  R  R   R}   R   R  R_  RC   R  R$  (   RF   R   t   is_unicode_concatR  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR$  ,  s    $	(   RH   RI   R  R  R  R$  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  p,  s   				
t   SubNodec           B@  s   e  Z d    Z RS(   c         C@  sj   | j  s | j r( | j s$ | j r( | S| j  s: | j rS | j  sL | j rS t j St j |  | |  Sd  S(   N(   R&  R   R8  RS  R   t   c_ptrdiff_t_typeR  R  (   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ,  s    $$(   RH   RI   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ,  s   t   MulNodec           B@  s   e  Z d    Z d   Z RS(   c         C@  s?   | j  r | j s$ | j  r( | j r( d St j |  | |  Sd  S(   Ni   (   R
  R8  R  R  (   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ,  s    c         C@  se   t  t t t t f } | | k r. | j r. | S| | k rG | j rG | S| j rT | S| j ra | Sd  S(   N(   R   R   R   R+   R   R  R8  RB   (   RF   R  R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ,  s    		(   RH   RI   R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ,  s   	t   MatMultNodec           B@  s   e  Z d    Z d   Z RS(   c         C@  s   t  S(   N(   R   (   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ,  s    c         C@  s6   | j  j t j d d   t t |   j |  d  S(   Nt   MatrixMultiplys   ObjectHandling.c(   R1  R2  R   R8  RC   R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ,  s    (   RH   RI   R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ,  s   	t   DivNodec           B@  s   e  Z d Z d Z e Z e Z d Z d    Z	 d   Z
 d   Z d   Z d   Z d   Z d   Z d   Z d   Z d	   Z d
   Z RS(   c         C@  s]   t  |  j } |  j d k rY |  j d  k rY t | t  rY t | t  rY t  d } qY n  | S(   NR  s   //(   R  R	   t   truedivisionRB   Rc   R!   (   RF   t   op1t   op2R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt!   find_compile_time_binary_operator,  s
    c         C@  sL   |  j  j } |  j j } |  j | |  } | |  j  j |  j j  |  _ d  S(   N(   R  Rd   R  R  (   RF   R  R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   ,  s    	c         C@  sn   |  j  j |  } |  j j |  } y# |  j | |  } | | |  SWn  t k
 ri } |  j |  n Xd  S(   N(   R  R   R  R  R  R   (   RF   R   R  R  R  R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   ,  s    c         C@  s2   |  j  s | j d r" t |  _ n |  j |  _ d  S(   Nt	   cdivision(   R  RR   R   t   ctruedivisionR  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   _check_truedivision,  s    c         C@  s8   |  j  |  |  j |  j j |  |  j j |  |  S(   N(   R  R  R  Rk   R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   ,  s    c         C@  s   |  j  |  t j |  |  |  j   r5 t |  _ n  |  j j s |  j d  k o} | j	 d o} |  j
 j   p} |  j
 j d k |  _ |  j s | j	 d r |  j j |  |  _ |  j
 j |  |  _
 q n  d  S(   NR  i    t   cdivision_warnings(   R  R  R  R  R   R  R}   RX   RB   RR   R  Rp   Rd   t   zerodivision_checkR  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ,  s    c         C@  s   |  j  d k rn |  j rn | j rn | j rn | j rn | j rn t j | t j  } t j | |  } | Sn  t j |  | |  S(   NR  (	   R	   R  R=  RT  R   R  R  R  R  (   RF   R  R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  -  s    ,c         C@  s   |  j  j r d Sd Sd  S(   Ns"   integer division or modulo by zeros   float division(   R}   R8  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   zero_division_message-  s    c         C@  s   |  j  j r |  j  j r |  j d  k rp | j j d pg |  j  j pg |  j  j s] |  j  j	 og |  j  j
 |  _ n  |  j s | j j t j d d  j |  j    q n  t j |  |  |  j |  d  S(   NR  t   DivInts   CMath.c(   R}   RX   R?  R  RB   R1  RR   RT  R  RS  R  R2  R   R8  R  R  R  t   generate_div_warning_code(   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  -  s    +		%c         C@  sF  |  j  } |  j j sB|  j r|  j sO d |  j j d  |  j j   f } n d |  j j   } | j d |  | r | j	   n  | j d |  j
    | r | j   n  | j | j |  j   | j d  |  j j r|  j j r|  j d k r| j j t j d d	   |  j j j d
 k rDd |  j j   } n. |  j j j   } d | |  j j   | f } | j d |  j j   | |  j j   f  | r| j	   n  | j d  | r| j   n  | j | j |  j   | j d  qn  | j j d rB|  j d k rB| j j t j d d   | j d |  j j   |  j j   f  d i t j d 6t j d 6} | rd } | j d |  | j	   | j | j |  j d t  | j d | | f  | j   n% | } | j | j |  j d t  | j d |  | j | j  | j d  qBn  d  S(   Ns   %s(%s)t   zeros   %s == 0s   if (unlikely(%s)) {s/   PyErr_SetString(PyExc_ZeroDivisionError, "%s");R   R  t   UnaryNegOverflowss
   Overflow.ci   s   unlikely(%s == -1)s+   (!(((%s)-1) > 0)) && unlikely(%s == (%s)-1)sW   else if (sizeof(%s) == sizeof(long) && %s  && unlikely(UNARY_NEG_WOULD_OVERFLOW(%s))) {sL   PyErr_SetString(PyExc_OverflowError, "value too large to perform division");R  R  t   CDivisionWarnings   CMath.cs$   if (unlikely((%s < 0) ^ (%s < 0))) {s1   __Pyx_cdivision_warning(%(FILENAME)s, %(LINENO)s)t   FILENAMEt   LINENOR   s   int %s;R*  s   %s = %s;s   if (unlikely(%s)) (    R  R}   RX   R  R'  R.  R  R   R   R   R  R   R   Rf   R8  R  R	   R1  R2  R   R8  R  R  RR   R   t   filename_cnamet   lineno_cnamet   set_error_infoR   R  R  R"  (   RF   R   t   in_nogilt	   zero_testt   minus1_checkt   type_of_op2t   warning_codeR  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  *-  sj    			('			

c         C@  s.  |  j  j s |  j   r% t j |   S|  j  j r` |  j d k r` d |  j j   |  j	 j   f S|  j
 sr |  j r |  j j   } |  j	 j   } |  j
 r |  j  |  j j  k r |  j  j |  } n  |  j  |  j	 j  k r |  j  j |  } q n  d | | f Sd |  j  j   |  j j   |  j	 j   f Sd  S(   Ns   //s   floor(%s / %s)s	   (%s / %s)s   __Pyx_div_%s(%s, %s)(   R}   R?  R  R  R   RT  R	   R  R   R  R  R  R;  t   specialization_name(   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   i-  s&    	N(   RH   RI   RB   R  R  R   R  R  R  R  R   R   R  Rk   R  R  R  R  R  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  ,  s    			
							?s'   %(?:%|(?:\([^)]+\))?[-+#,0-9 ]*([a-z]))t   dR  t   ot   uR  t   XR   t   ER  t   Ft   gt   GRI  R  R  t   ModNodec           B@  sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C@  s%   | j  p$ | j  p$ t j |  | |  S(   N(   R
  R  R  (   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  -  s    		c         C@  s   | t  k r, | j s% |  j j   r | Sn | t t t f k r | t  k rQ | S| j r^ | S|  j j r | t k s | t k r t	 t
 |  j j   t k r | Sn  t S| t k r | j r d  St Sn  d  S(   N(   R   R  R  R_  R   R   R+   R  Rn  Ru   t   _find_formatting_typesR   t   _safe_bytes_formatsRB   (   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  -  s"    	c         C@  s   |  j  j r d Sd Sd  S(   Ns"   integer division or modulo by zeros   float divmod()(   R}   R8  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  -  s    c         C@  s   t  j |  |  |  j j s |  j d  k rK | j d pB |  j j |  _ n  |  j r |  j j r |  j j	 r t
 |  j d |  j  q n  d  S(   NR  s(   mod operator not supported for type '%s'(   R  R  R}   RX   R  RB   RR   R  R8  RT  R   Rf   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  -  s     $c         C@  s   |  j  j r |  j r |  j  j rN | j j t j d d  j |  j    q | j j t j d d  j |  j  d |  j  j	  n  t
 j |  |  |  j |  d  S(   Nt   ModInts   CMath.ct   ModFloatt   math_h_modifier(   R}   RX   R  R8  R1  R2  R   R8  R  R  R  R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  -  s    	"	c         C@  s   |  j  ra |  j j r> d |  j j |  j j   |  j j   f Sd |  j j   |  j j   f Sn, d |  j j   |  j j   |  j j   f Sd  S(   Ns   fmod%s(%s, %s)s
   (%s %% %s)s   __Pyx_mod_%s(%s, %s)(   R  R}   RT  R  R  R   R  R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   -  s    		c         C@  s   |  j  j |  j j } } | t k rv |  j  j   sk | j rL | j |  sk | t k ro t |  j t	  ro d Sd Sn] | t
 k r |  j  j   s | j r | j |  s | t k r t |  j t	  r d Sd Sn  t t |   j |  S(   Nt   __Pyx_PyUnicode_FormatSafet   PyUnicode_Formatt   __Pyx_PyString_FormatSafet   __Pyx_PyString_Format(   R  R}   R  R   R_  R  R;  R   Rc   R:  R   RC   R  R$  (   RF   R   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR$  -  s    (	   RH   RI   R  R  R  R  R  R   R$  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  -  s   						t   PowNodec           B@  s#   e  Z d    Z d   Z d   Z RS(   c         C@  sp  t  j |  |  |  j j r |  j j j ry |  j j |  j |  |  _ |  j j |  j |  |  _ |  j j	 d  |  _
 qlt |  j d  d |  _
 n |  j j r d |  j j |  _
 n |  j j r7d |  j j   j d d  |  _
 | j t j d d	  j d
 |  j
 d |  j j   d |  j j r*d p-d   n5 |  j j slt |  j d |  j j |  j j f  n  d  S(   Ns   **s    complex int powers not supporteds   <error>t   pows   __Pyx_pow_%sR  R  t   IntPows   CMath.cR  R}   R  i   i    s1   got unexpected types for C power operator: %s, %s(   R  R   R}   R?  RD  RT  R  R.  R  R  t   pow_funcR   Rf   R  R8  R  R  R2  R   R8  R  R  R2  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   -  s(    "	c         @  s5     f d   } d   j  |   j  |   j  f S(   Nc         @  s6     j  |  j  k r |  j   S  j  j |  j    Sd  S(   N(   R}   R   R;  (   R  (   RF   (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR'   .  s    
s
   %s(%s, %s)(   R  R  R  (   RF   R'   (    (   RF   s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   .  s
    c         C@  s   |  j  j ru |  j j d k ru t |  j j t  ru |  j j  t k ru | j j	 t
 j d d   |  j rn d Sd Sn  t t |   j |  S(   Ni   t   PyNumberPow2s
   Optimize.ct   __Pyx_PyNumber_InPlacePowerOf2t   __Pyx_PyNumber_PowerOf2(   R}   RX   R  Rd   Rc   R!   R  R   R1  R2  R   R8  R  RC   R  R$  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR$  .  s    	(   RH   RI   R   R   R$  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  -  s   		t   BoolBinopNodec           B@  s   e  Z d  Z d d g Z e Z d Z d Z d Z	 d   Z
 d   Z d   Z d   Z d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d Z d   Z d   Z d   Z d   Z RS(   sg  
    Short-circuiting boolean operation.

    Note that this node provides the same code generation method as
    BoolBinopResultNode to simplify expression nesting.

    operator  string                              "and"/"or"
    operand1  BoolBinopNode/BoolBinopResultNode   left operand
    operand2  BoolBinopNode/BoolBinopResultNode   right operand
    R  R  c         C@  s4   |  j  j |  } |  j j |  } t j | |  S(   N(   R  Rk   R  R   t   independent_spanning_type(   RF   RZ   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   0.  s    c         C@  s<   |  j  d k r |  j j   S|  j j   p7 |  j j   Sd  S(   Nt   or(   R	   R  R_  R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  5.  s    c         C@  sL   |  j  j } |  j j } |  j d k r9 | o0 | |  _ n | pB | |  _ d  S(   Nt   and(   R  Rd   R  R	   (   RF   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   ;.  s
    c         C@  sK   |  j  j |  } |  j j |  } |  j d k r= | o< | S| pF | Sd  S(   NR  (   R  R   R  R	   (   RF   R   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   C.  s
    
c         C@  s   |  j  j   p |  j j   S(   N(   R  R   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   K.  s    c         C@  sm   |  j  j |  } |  j j |  } t j | j | j  |  _ |  j | |  |  _  |  j | |  |  _ |  S(   N(   R  R   R  R   R  R}   t   _wrap_operand(   RF   RZ   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   N.  s    c         C@  s1   t  | t t f  s- t | |  j |  } n  | S(   N(   Rc   R  t   BoolBinopResultNodeR}   (   RF   R  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  Z.  s    c         C@  s4   |  j  |  j |  |  _ |  j  |  j |  |  _ d S(   s   
        Must get called by transforms that want to create a correct BoolBinopNode
        after the type analysis phase.
        N(   R  R  R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   wrap_operands_.  s    c         C@  s   |  j  t j |  S(   N(   R.  R   R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   g.  s    c      
   C@  sR   |  j  j | |  } |  j j | |  } t j |  d | d |  j d | d | S(   NR}   R	   R  R  (   R  R.  R  R  Ri  R	   (   RF   RC  RZ   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  j.  s    	c   
      C@  s   | j  |  j  | | f } |  j d k rA | j d  }	 } n | j d  }	 } |  j j | | | | | | |	  | \ } } | j |	  |  j j | | | | | | |  d  S(   NR  t   next_andt   next_or(   R  Rf   R	   R  R  t   generate_bool_evaluation_codeR  R  (
   RF   R   t   final_result_tempt   final_result_typet	   and_labelt   or_labelt	   end_labelt   fall_throught   outer_labelst   my_label(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  r.  s    		c         C@  sz   |  j  |  |  j j r" t j n |  j } d  } } | j d  } |  j | |  j   | | | | |  | j	 |  d  S(   Nt   bool_binop_done(
   R   R}   RX   R   R   RB   R  R  R   R  (   RF   R   R  R  R  R	  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  .  s    
%s   Truth-testing Python objectc         C@  s   |  j  j   o |  j j   S(   N(   R  R   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   .  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  .  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  .  s    c         C@  s{   |  j  j r\ | j j t j d t } | j d | |  j j	   | j
 | |  j  f  n |  j j   } | |  j  j f S(   NR   s"   %s = __Pyx_PyObject_IsTrue(%s); %s(   R}   RX   R   R   R   R  R   R   R  R   R  Rf   R   (   RF   R   t   test_result(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_operand1_test.  s    	N(   RH   RI   R  R   R   R   RB   R	   R  R  Rk   R_  R   R   R   R   R  R  R   R.  R  R  R  R   R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  .  s.   
															R   c           B@  sb   e  Z d  Z d d g Z e Z d	 Z d	 Z d   Z	 d   Z
 d   Z d   Z d   Z d   Z RS(
   s  
    Intermediate result of a short-circuiting and/or expression.
    Tests the result for 'truthiness' and takes care of coercing the final result
    of the overall expression to the target type.

    Note that this node provides the same code generation method as
    BoolBinopNode to simplify expression nesting.

    arg     ExprNode    the argument to test
    value   ExprNode    the coerced result value node
    Rm  R   c      
   C@  s\   | j  |  } t |  } t t |   j | j d | d | d t |  j | |  d  S(   NRm  R}   R   (   R   t	   ProxyNodeRC   R   R  Rf   R+  R.  (   RF   Rm  R  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  .  s
    c         C@  s   |  j  t j |  S(   N(   R.  R   R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   .  s    c         C@  s=   |  j  j  } | t j k r- | j |  } n  t | | |  S(   N(   Rm  R   R  R   R   (   RF   RC  RZ   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  .  s    c         C@  s   d  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   .  s    c         C@  s   |  j  j j r_ | j j t j d t } | j d | |  j  j	   | j
 | |  j  f  n |  j  j   } | |  j  j j f S(   NR   s"   %s = __Pyx_PyObject_IsTrue(%s); %s(   Rm  R}   RX   R   R   R   R  R   R   R   R  Rf   R   (   RF   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_operand_test.  s    	c         C@  s4  | j  |  j  |  j j |  | s, | rH|  j |  \ } }	 |	 rf | rf | rf |  j j |  n  | rr d n d }
 | j d |
 | f  |	 r | j j |  n  |	 s | o | r |  j j |  n  | r | | k r | j	 |  n  | rH| r&| j d  |	 s&|  j j |  q&n  | | k rE| j	 |  qEqHn  | sV| r| sb| rr| j d  n  |  j
 j |  |  j
 j |  | j d | |  j
 j |  f  |  j
 j |  |  j j |  |  j
 j |  | | k r| j	 |  qn  | s| r | j d  n  |  j j |  d  S(   NR)  R  s   if (%s%s) {s   } else {s   %s = %s;R   (   R  Rf   Rm  R  R  R  R   R   R   R  R   R  R   R  R  (   RF   R   R  R  R  R  R	  R
  R  t	   uses_tempt   sense(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  .  sF    #N(   RH   RI   R  R   R   R   RB   Rm  R   R  R   R.  R   R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   .  s   						R  c           B@  s   e  Z d Z d Z e Z d  d d g Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   R  R  R  c         C@  s    |  j  j |  |  j j |  S(   N(   R  R   R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   "/  s    c         C@  s(   t  j |  j j |  |  j j |   S(   N(   R   R  R  Rk   R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   %/  s    c         C@  s1   |  j  j r |  j j |  _ n |  j j |  _ d  S(   N(   R  Rd   R  R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   */  s    c         C@  s   |  j  j   p |  j j   S(   N(   R  R   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   0/  s    c         C@  sU   |  j  j |  j |  |  _  |  j j |  |  _ |  j j |  |  _ |  j |  S(   N(   R  R   R   R  R  R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   3/  s    c         C@  s  t  j |  j j |  j j  |  _ |  j j rH t  j |  j j  |  _ n  |  j j r` t	 |  _
 n1 |  j j   s~ |  j j   r t |  j d  n  |  j j j s |  j j j r |  j j |  j |  |  _ |  j j |  j |  |  _ n  |  j j r|  j   n  |  S(   NsP   Unsafe C derivative of temporary Python reference used in conditional expression(   R   R  R  R}   R  R!  R  R"  RX   R   R   R   R   Rf   R.  R2  R%  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  9/  s    c         C@  s@   |  j  j |  |  _  |  j j |  |  _ d  |  _ |  j |  S(   N(   R  R[  R  RB   R   R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR[  I/  s    	c         C@  sF   |  j  j | |  |  _  |  j j | |  |  _ d  |  _ |  j |  S(   N(   R  R.  R  RB   R   R  (   RF   RC  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  O/  s    	c         C@  sW   |  j  j j p |  j j j sG t |  j d |  j  j |  j j f  n  t j |  _ d  S(   Ns5   Incompatible types in conditional expression (%s; %s)(   R  R}   R2  R  R   Rf   R   R(   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR%  U/  s    c         C@  s+   |  j  j   o* |  j j   o* |  j j   S(   N(   R  R   R  R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   [/  s    c         C@  s   | j  |  j  |  j |  |  j j |  | j d |  j j    |  j | |  j  | j d  |  j | |  j	  | j d  |  j j
 |  |  j j |  d  S(   Ns	   if (%s) {s   } else {R   (   R  Rf   R   R  R  R   R   t   eval_and_getR  R  R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  `/  s    c         C@  s   | j  |  |  j j r) | j |  n | j |  | j d |  j   | j |  j    f  | j	 |  | j
 |  d  S(   Ns   %s = %s;(   R  R}   R   R  R  R   R   R   R   R  R  (   RF   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  o/  s    ,c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  y/  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  |/  s    N(   RH   RI   RB   R  R  R   R   R   R   Rk   R   R   R   R  R[  R.  R%  R   R  R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  /  s$   												
	t   Py_LTt   Py_LEt   Py_EQt   Py_NEs   <>t   Py_GTt   Py_GEt   CmpNodec           B@  s   e  Z d Z d Z d    Z d   Z d   Z d   Z d   Z	 d d  Z
 d   Z d   Z d   Z d	   Z d
   Z d   Z e d  Z d   Z d   Z RS(   c         C@  s   t  S(   N(   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   /  s    c         C@  s#  t  |  j } |  j j } t | t  rS t | t  rS t |  t |  k rS d  S|  j d k rt |  j t t t	 f  r |  j j
 s |  j d k |  _ d  St |  j t  r
|  j r
|  j j   |  _ q
qt |  j t  r|  j j s
|  j d k |  _ d  Sqn  | | |  |  _ d  S(   NR  R  (   R  R  (   R  R	   R  Rd   Rc   t   any_string_typeR}   RG  R  RJ  Rq   t   cascadeR  R  R  (   RF   t   operand1_resultR  t   operand2_result(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt"   calculate_cascaded_constant_result/  s$    
c         C@  s   t  |   } |  j j |  } y | | |  } Wn& t k
 rY } |  j |  d  } n X| r |  j } | r | o | j | |  } q n  | S(   N(   R  R  R   R  R   RB   R  t   cascaded_compile_time_value(   RF   R  R   R  R  R   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR!  /  s    
	c         C@  s   |  j  j j p |  j j j S(   N(   R  R}   R=  R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   is_cpp_comparison/  s    c   	      C@  s   | j  } | j  } t } t } | j r< | j   r< t } n  | j rZ | j   rZ t } n  | j rp | r | SnK | j r | r | Sn5 | r | r t j | | f k r t j	 St j
 Sq n  d  S(   N(   R}   R   Rn  R  R   R8  R   R   R   R  R   RB   (	   RF   RZ   Rz  R  R  R  R  t   type1_can_be_intt   type2_can_be_int(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   find_common_int_type/  s(    						c   	      C@  s  |  j  } | j } | j } d  } | t k rH | j so | t t f k so | t k r | j so | t t f k r t |  j d  t	 } n"| j
 s | j
 rR| d k r | j
 s | j r | j
 s | j r t |  j d  t	 } q| j r| j t j  rt j n t } q| j r=| j t j  r4t j n t } qt j | |  } nX | j ry| j ryt j | |  } n1 | d  k s| j r|  j | | | |  } n  | d  k r| j s| j rt } q| | k r| } q| j s| j r| j s
| j r.| j | |  r%t	 } qt } q| j s@| j rd| j | |  r[t	 } qt } qt j |  rt j |  rt } q|  j | | |  t	 } q| j |  r| } q| j |  r| } q|  j | | |  t	 } n  | j r#t | t  st | t  r#t } n  | d  k s8| j rA| } n t j | |  } |  j r}|  j j | |  j | |  } n  | S(   NsF   Comparisons between bytes/unicode and str are not portable to Python 3s   ==s   !=s   complex types are unordered(   s   ==s   !=(   R  R}   RB   R   R
  R   R   R   Rf   R(   R?  R  RX   R;  R   R  R   R   R  R%  RX  R   R@  t   invalid_types_errorRc   R  R2  t   spanning_typeR  t   find_common_typeR	   (	   RF   RZ   Rz  R  t   common_typeR  R  R  t   new_common_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR(  /  sp    			''			$	$														!c         C@  s'   t  |  j d | | j | j f  d  S(   Ns   Invalid types for '%s' (%s, %s)(   R   Rf   R}   (   RF   R  Rz  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR&  /0  s    c         C@  sK   |  j    oJ |  j   oJ |  j   pJ |  j r> |  j j   pJ |  j d k S(   NR  R  (   R  R  (   t   is_ptr_containst   is_c_string_containst   has_python_operandsR  t   is_python_comparisonR	   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  30  s
    c         C@  sS   |  j  } | j | k r0 | j | |  |  _  n  |  j rO |  j j | |  n  d  S(   N(   R  R}   R.  R  t   coerce_operands_to(   RF   RC  RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR/  :0  s
    		c         C@  sZ   |  j    rD |  j d  k rD |  j d k rD |  j   rD |  j   pY |  j oY |  j j   S(   NR  R  R  R  (   R  R  R  R  (   R-  t   special_bool_cmp_functionRB   R	   R,  R+  R  t   is_python_result(   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR1  A0  s    c         C@  s^   |  j  d k o] |  j j j r? |  j j j p] |  j j t k p] |  j j j o] |  j j t k S(   NR  R  (   R  R  (	   R	   R  R}   R8  R  R
  R   R  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR,  I0  s
    !c         C@  s9   |  j  d k r5 |  j j } | j s- | j o4 | j Sd  S(   NR  R  (   R  R  (   R	   R  R}   R&  R   R
  (   RF   t   container_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR+  P0  s    c         C@  s  |  j  d k rC| j |  j j } } | s= | j r| j r| t j k s[ | t j k r} t j d d  |  _ d |  _	 t
 S| t j k s | t j k r t j d d  |  _ d |  _	 t
 S| t j k s | t j k r t j d d  |  _ d |  _	 t
 S| t j k s| t j k r@t j d d  |  _ d	 |  _	 t
 Sqn?|  j  d k r|  j j t j k r|  j j d  |  _ t j d d  |  _ d |  _	 t
 S|  j j t j k r|  j j d  |  _ t j d d  |  _ d |  _	 t
 S|  j j t j k r6|  j j d  |  _ t j d d  |  _ d |  _	 t
 S|  j j j s]|  j j |  |  _ n  t j d d  |  _ d |  _	 t
 Sn  t S(   Ns   ==s   !=t   UnicodeEqualss   StringTools.ct   __Pyx_PyUnicode_Equalst   BytesEqualst   __Pyx_PyBytes_Equalst	   StrEqualst   __Pyx_PyString_EqualsR  R  s!   'NoneType' object is not iterablet   PyDictContainss   ObjectHandling.ct   __Pyx_PyDict_ContainsTFt   PySetContainst   __Pyx_PySet_ContainsTFt   PyUnicodeContainst   __Pyx_PyUnicode_ContainsTFt   PySequenceContainst   __Pyx_PySequence_ContainsTF(   s   ==s   !=(   R  R  (   R	   R}   R  R  R   R   R   R8  t   special_bool_cmp_utility_codeR0  R   R   R+   R   R   Rd  R   RX   RN  R   (   RF   RZ   R  t   result_is_boolR  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt"   find_special_bool_compare_functionV0  sR    				
				c         C@  s  |  j  j rV | j } d | } |  j rM | j j t j d d   d } qk d } n | j } d } d } |  j r | j  j r | j	   }	 n | j
   }	 | j  j r | j	   }
 n | j
   }
 |  j r | j j |  j  n  | j d | | |  j |	 |
 t | | | | |  j  f  n| j  j r| d k r| d k sPt |   | j d | | j	   | j	   t | | | | |  j  f  n\| j  j r| j d | | | d k rd pd | j  j d  | j
   | j
   f  n | j  } | j  } | j s| j r+| j |  r+t } n$ | j rIt j | |  } n | } | j |  } | j |  } d | | | |  j |  | f } |  j   r|  j d k rt | |  j | |  j  j r| n d  |  j |  j  n  | j |  d  S(   Ns   __Pyx_XGOTREF(%s); t   PyBoolOrNullFromLongs   ObjectHandling.ct   __Pyx_PyBoolOrNull_FromLongt   __Pyx_PyBool_FromLongR  s   %s = %s(%s(%s, %s, %s)); %s%sR  R  R  R  s+   %s = PyObject_RichCompare(%s, %s, %s); %s%ss   %s = %s(%s%s(%s, %s));s   !=R)  t   eqs   %s = %s(%s %s %s);RF  (   R  R  (   R  R  (    R}   RX   R   R0  R1  R2  R   R8  R  R   R   RA  R   t   richcmp_constantsRf   R   R?  R.  R  R)  R   R  R   R  R   t
   c_operatorR"  R  R   RB   R   R  (   RF   R   R  R  Rz  R  t   error_clauset   got_reft   coerce_resultR  R  R  R  R)  t   code1t   code2t	   statement(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  0  s    	
																
c         C@  s(   | d k r d S| d k r  d S| Sd  S(   NR  s   ==R  s   !=(    (   RF   Rz  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRI  0  s
    N(   RH   RI   RB   R0  RA  Rk   R   R!  R"  R%  R(  R&  R.  R/  R1  R,  R+  R   RC  R  RI  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  /  s"   					S						-	SR  c           B@  s   e  Z d  d d d g Z d Z d Z e Z d   Z d   Z	 d   Z
 d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   R  R  t   coerced_operand2R  c         C@  st   |  j  j |  } |  j j |  } t |  s< t |  rp t |  rp t |  rp t t |  j | |   Sn  t S(   N(	   R  Rk   R  R2   R0   R>   R4   R	   R   (   RF   RZ   R  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   0  s    c         C@  s   d S(   N(    (    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   0  s    c         C@  s'   |  j  s t  |  j |  j j  d  S(   N(   R  R   R   R  Rd   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    1  s    c         C@  s"   |  j  j |  } |  j | |  S(   N(   R  R   R!  (   RF   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   1  s    c         C@  sW  |  j  j |  |  _  |  j j |  |  _ |  j   rc |  j |  |  j r_ t |  j d  n  |  S|  j  j } |  j j } t	 |  s t	 |  r t
 |  r t
 |  r t t |  j | |   |  _ t |  _ |  Sn  |  j |  r |  S|  j r|  j j |  |  _ n  |  j d k r|  j   rt |  _ d  } |  j rTt |  j d  |  S|  j j t k r| j t j d d   ny |  j  j t j k r|  j  j t j |  |  _  n  |  j j t k	 r|  j j t |  |  _ n  | j t j d d   |  j j d  |  _ q |  j   rK|  j r;t |  j d	  n  t j |  _ |  S|  j | |  j   r|  j  j j  s|  j  j! |  |  _  n  d  } t |  _ q t" } t# |  _ nu |  j | |  j   r|  j  j j  s|  j  j! |  |  _  n  d  } t |  _ n' |  j$ | |  j |  j   } | j  |  _ | d  k	 rv| j% rv|  j  j | k rc|  j  j | |  |  _  n  |  j& | |  n  |  j r|  j j' |  |  _ |  j j( |  |  j j) |  j |  } | |  j k	 r| |  _* qn  |  j+   rt j" |  _ n t j |  _ |  j } x | r+|  j | _ | j } qW|  j sG|  j sG|  j, rSd
 |  _- n  |  S(   Ns5   Cascading comparison not yet supported for cpp types.R  R  s?   Cascading comparison not yet supported for 'int_val in string'.t   PyUCS4InUnicodes   StringTools.ct   BytesContainss+   argument of type 'NoneType' is not iterables?   Cascading comparison not supported for 'val in sliced pointer'.i   (   R  R  (.   R  R   R  R"  t   analyse_cpp_comparisonR  R   Rf   R}   R2   R0   R>   R4   R	   R   t   is_pycmpt"   analyse_memoryviewslice_comparisonR,  RB   R   R2  R   R8  R   R   R.  R   R   Rd  R+  R  RC  RX   RN  R   R   R(  R2  R/  R   t    coerce_cascaded_operands_to_tempt   optimise_comparisonRP  R1  R0  R   (   RF   RZ   R  R  R)  R  t   cdr(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   1  s    										c         C@  s  |  j  j } |  j j } t |  _ | j |  j |  j  |  j g  } | d  k r t |  j	 d |  j | | f  t
 j |  _ d |  _ d  S| j } | j r | j } n  | j |  _ | j |  _ |  j d k rt |  _ |  j d  k r| j t j d d   qn  t | j  d k r=|  j j | j d j |  |  _ nD |  j  j | j d j |  |  _  |  j j | j d j |  |  _ | j |  _ d  S(   Ns   Invalid types for '%s' (%s, %s)s   <error>RF  R  s   CppSupport.cppi   i    (   R  R}   R  R   RT  R  R	   RB   R   Rf   R   R(   R  R&  R'  R  R   R   R   R2  R   R8  Rm   Rq   R.  R  (   RF   RZ   R  R  R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRS  _1  s0    	!				%""c         C@  s}   |  j  j p |  j j } |  j  j j p3 |  j j j } d } | ry | ry |  j | k ry t |  _ t j	 |  _ t
 |  _ t
 St S(   Ns   ==s   !=R  R  (   s   ==s   !=R  R  (   R  R  R  R}   R   R	   R   RT  R   R  R   t   is_memslice_nonecheck(   RF   RZ   t	   have_nonet
   have_slicet   ops(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRU  z1  s    		c         C@  s   |  j  r |  j | |  j d t r t |  _  t j |  _ d |  _ |  j	 r |  j	 j
 |  j | d t } | |  j k	 r | |  _ q n  |  Sn  t j |  |  S(   NRB  i   (   RT  RC  R  R   R   R   R  R}   R   R  RW  R  RP  R   R   (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   1  s    					c         C@  s   |  j  j j p |  j j j S(   N(   R  R}   RX   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR-  1  s    c         C@  s7   |  j  r |  j   t S|  j j   o2 |  j j   Sd  S(   N(   R  R   R   R  R   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   1  s    	
c         C@  se  |  j  |  j } } | j j ri |  j d k r7 d } n d } d | | j j d  | j   | j   f S|  j   r | j t k r d } n d } |  j d k r d } n d } d | | | j   | j   f St	 |  j  r | j
   | j
   } } nH | j   | j   } } |  j rD| j j r7d	 | } qDd	 | } n  d
 | |  j |  j  | f Sd  S(   Ns   !=R)  R  s   (%s%s(%s, %s))s   ==t   __Pyx_UnicodeContainsUCS4t   __Pyx_BytesContainsR  s   ((PyObject *) %s.memview)s
   (%s %s %s)(   R  R  R}   R?  R	   R  R   R,  R   R2   R   RY  R   RI  (   RF   R  R  t   negationt   methodR  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   1  sB    						c         C@  s   |  j  j |  |  j j |  |  j r |  j |  |  j | |  j   |  j  |  j |  j  |  j r |  j j | |  j   |  j	 p |  j d |  j	 d  k	 n  |  j  j |  |  j  j |  |  j j |  |  j j |  n  d  S(   Nt   needs_evaluation(   R  R  R  R   R   R  R   R	   R  RP  RB   R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  1  s    			c         C@  s$   |  j  j |  |  j j |  d  S(   N(   R  R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  1  s    c         C@  s$   |  j  j |  |  j j |  d  S(   N(   R  R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  1  s    c         C@  s@   |  j  j |  |  j j |  |  j r< |  j j |  n  d  S(   N(   R  R  R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  1  s    	N(   RH   RI   Ry  RB   R  RP  R   RY  Rk   R   R   R   R   RS  RU  R   R-  R   R   R  R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  0  s&   					W						*			t   CascadedCmpNodec           B@  s   e  Z d  d d g Z d Z d Z e Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z e d	  Z d
   Z d   Z e d  Z d   Z RS(   R  RP  R  c         C@  s   t  S(   N(   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk    2  s    c         C@  s   d S(   N(    (    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   2  s    c         C@  s   |  j  t k	 o |  j  t k	 S(   N(   Rd   R   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRp   2  s    c         C@  s:   |  j  j |  |  _  |  j r6 |  j j |  |  _ n  |  S(   N(   R  R   R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   2  s    	c         C@  s   |  j  j j S(   N(   R  R}   RX   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR-  2  s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR"  2  s    c         C@  s   |  j  | | |  rK t |  _ t j |  _ | j j sK | j |  } qK n  |  j r |  j j	 |  j
 | |  } | |  j
 k	 r | |  _ q n  | S(   N(   RC  R   RT  R   R  R}   RX   RN  R  RW  R  RP  (   RF   R  RZ   RB  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRW  2  s    		c         C@  sn   |  j  j |  |  _  |  j  j t k rN |  j d k rN |  j  j d  |  _  n  |  j rj |  j j |  n  d  S(   NR  R  s!   'NoneType' object is not iterable(   R  R  (   R  RN  R}   R   R	   Rd  R  R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  $2  s
    !	c         C@  s5   |  j  r1 |  j j |  |  _ |  j  j |  n  d  S(   N(   R  R  R   RV  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRV  +2  s    	c         C@  s  |  j  j r3 | j d |  | j | |  j   n | j d |  | rZ | j |  n  |  j j |  |  j | | | |  j |  j  |  j r |  j j | | |  j	 p |  j d |  j	 d  k	 n  | r | j |  | j |  n  |  j j |  |  j j |  | j d  d  S(   Ns    if (__Pyx_PyObject_IsTrue(%s)) {s	   if (%s) {Ra  R   (   R}   RX   R   Rb  R  R  R  R	   R  RP  RB   R  R  (   RF   R   R   R  Ra  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  12  s&    		c         C@  s0   |  j  j |  |  j r, |  j j |  n  d  S(   N(   R  R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  H2  s    	N(   RH   RI   Ry  RB   R  RP  R   Rd   Rk   R   Rp   R   R-  R"  R   RW  R  RV  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRb  1  s   
								R  R  c         K@  s)   t  | |  d | d | d | d | | S(   NR	   R  R  R  (   t   binop_node_classes(   Rf   R	   R  R  R  Rf  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  a2  s    t   CoercionNodec           B@  s2   e  Z d  g Z e Z d   Z d   Z d   Z RS(   Rm  c         C@  sA   t  t |   j | j  | |  _ t r= d |  |  j f GHn  d  S(   Ns   %s Coercing %s(   RC   Rd  R  Rf   Rm  R   (   RF   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  2  s    	c         C@  s   d  S(   N(    (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   2  s    c         C@  s   |  j  j |  |  j  j |  j k r |  j \ } } } | j | | | d f t d d d d d d |  j  j |  j f   n  d  S(   Ni   Ri  t   coercet   tagRj  s   [%s] to [%s](   Rm  R  R}   Rf   R,   (   RF   R   t   filet   linet   col(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  2  s
    (   RH   RI   R   R   Rd   R  R   R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRd  x2  s
   			R/  c           B@  s    e  Z d  Z d   Z d   Z RS(   sc   
    Coerce an object to a memoryview slice. This holds a new reference in
    a managed temp.
    c         C@  sc   | j  s t  | j j  s" t  t j |  |  | |  _ d |  _ | |  _ t |  _ | |  _	 d  S(   Ni   (
   R   R   R}   Rd  R  R   RZ   R   R   Rm  (   RF   Rm  RC  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  2  s    				c         C@  sK   |  j  j |  j  | j |  j  j |  j j   |  j   |  j |   d  S(   N(	   R}   R@  RZ   R   t   from_py_call_codeRm  R   R   Rf   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  2  s    	(   RH   RI   R  R  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR/  2  s   	
R  c           B@  s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C@  s   t  j |  |  | |  _ d  S(   N(   Rd  R  R}   (   RF   Rm  t   new_type(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  2  s    c         C@  s   |  j  j   S(   N(   Rm  R_  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  2  s    c         C@  s   |  j  j |  j  S(   N(   Rm  R   R}   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   2  s    c         C@  s   |  j  j |  d  S(   N(   Rm  R	  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  2  s    (   RH   RI   R  R_  R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  2  s   			R<  c           B@  s   e  Z e Z e d   Z e j Z d Z	 d   Z
 d   Z d   Z d   Z d   Z d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z RS(   c         C@  sS   | j  s | j s t d   t j |  |  | |  _ | j   |  _ | |  _ d  S(   Ns    PyTypeTest on non extension type(	   R  R  R   Rd  R  R}   R   R   R?  (   RF   Rm  RC  RZ   R?  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  2  s
    	s   Python type testc         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   2  s    c         C@  s   |  j  r t S|  j j   S(   N(   R?  R   Rm  R_  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  2  s    	c         C@  s   |  j  j   S(   N(   Rm  R^  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^  2  s    c         C@  s   |  j  j   S(   N(   Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   2  s    c         C@  s   |  j  j   S(   N(   Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   2  s    c         C@  s   |  j  j   S(   N(   Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   2  s    c         C@  sr   |  j  |  j j  k s" |  j j r& |  S|  j  j   s9 |  S|  j j   rk |  j rk |  j j d |  j  j  S|  j S(   Ns!   Cannot convert NoneType to %.200s(   R}   Rm  R   t   typeobj_is_availableR_  R?  Rd  RY   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt	   reanalyse2  s    "c         C@  s   d  S(   N(    (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   2  s    c         C@  s   |  j  j   S(   N(   Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   2  s    c         C@  s   |  j  j   r |  j  j rH |  j  j |  j j   |  j d |  j } n= |  j  j |  j j   |  j  } | j j	 t
 j d d   | j d | | j |  j  f  n t |  j d  d  S(   Nt   exactt   ExtTypeTests   ObjectHandling.cs   if (!(%s)) %ssI   Cannot test type of extern C class without type object name specification(   R}   Rl  R  t   type_test_codeRm  R   R?  R  R1  R2  R   R8  R   R   Rf   R   (   RF   R   t	   type_test(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  2  s    				c         C@  s   |  j  j |  d  S(   N(   Rm  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  3  s    c         C@  s   |  j  j |  d  S(   N(   Rm  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  3  s    (   RH   RI   R   R  R   R  R#   R   R   R  R   R_  R^  R   R   R   Rm  R   R   R	  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR<  2  s    														Rb  c           B@  s   e  Z e Z d d   Z d Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z e d d e d	   Z e d d e d
   Z d   Z d   Z d   Z d   Z RS(   c         C@  sV   t  j |  |  | j |  _ | j   |  _ | |  _ | |  _ t | pI d  |  _ d  S(   N(    (	   Rd  R  R}   R   R   t   exception_type_cnamet   exception_messageR   t   exception_format_args(   RF   Rm  Rr  Rs  Rt  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  3  s    		c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   3  s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  !3  s    c         C@  s   |  j  j   S(   N(   Rm  R^  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^  $3  s    c         C@  s   |  j  j   S(   N(   Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   '3  s    c         C@  s   |  j  j   S(   N(   Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   *3  s    c         C@  s   |  j  j   S(   N(   Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   -3  s    c         C@  sF   |  j  j r |  j j   S|  j  j r6 d |  j j   St d   d  S(   Ns   ((PyObject *) %s.memview)s   unsupported type(   R}   RX   Rm  R   R   R   R  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt	   condition03  s
    Ra  c         C@  s/   |  | | | |  } | | _  | j |  d  S(   N(   R  t   put_nonecheck(   RE   Rm  R   Rs  Rr  Rt  R  Rh   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate83  s    	c         C@  s/   | j    r+ |  j | | | | | |  n  d  S(   N(   R_  Rw  (   RE   Rm  R   Rs  Rr  Rt  R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   generate_if_needed?3  s    c         C@  s  | j  d |  j    |  j r- | j   n  t j } |  j r | j  d |  j t j |  j j	 d   d j
 g  |  j D]% } d | t |  j	 d   ^ qv  f  n, | j  d |  j | |  j j	 d   f  |  j r | j   n  | j  | j |  j   | j  d  d  S(   Ns   if (unlikely(%s == Py_None)) {s   PyErr_Format(%s, "%s", %s);s   UTF-8s   , s   "%s"s   PyErr_SetString(%s, "%s");R   (   R   Ru  R  R   R   t   escape_byte_stringRt  Rr  Rs  R  R<  R^   R   R   Rf   (   RF   R   t   escapeRm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRv  E3  s&    					=		c         C@  s   |  j  |  d  S(   N(   Rv  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  _3  s    c         C@  s   |  j  j |  d  S(   N(   Rm  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  b3  s    c         C@  s   |  j  j |  d  S(   N(   Rm  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  e3  s    (    N(    (    (   RH   RI   R   Ri  R  RB   R   R   R_  R^  R   R   R   Ru  Rz  R   Rw  Rx  Rv  R	  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRb  3  s$   										R:  c           B@  sY   e  Z e Z e Z d  Z e d  Z d Z d   Z d   Z	 d   Z
 d   Z d   Z RS(   i   c         C@  sV  | j  j |  s, t | j d | j   n | j  j rJ | j |  } n  t j |  |  | t k r | j  j	 s~ | j  j
 r t |  |  _  n? | j  j s | j  j r t |  _  n | j  j r t j |  _  n  |  j  |  _ nt | j  j	 s | j  j
 rI| t t f k r6| j d r6t | j d | j  | f  n  | |  _  |  _ n	 | |  _ d  S(   Ns$   Cannot convert '%s' to Python objectRJ   s:   default encoding required for conversion from '%s' to '%s'(   R}   R  R   Rf   R?  R   Rd  R  R   R
  R  Ra   R  R  R   R   R  t   target_typeR   R   RR   (   RF   Rm  RZ   R}   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  q3  s*    	s   Converting to Python objectc         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  3  s    c         C@  sT   |  j  j } | t j k s3 | j rC | j d k rC |  j  j |  St |  |  Sd  S(   NR   (   Rm  R}   R   R  RX   RY   R]  RU  (   RF   RZ   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   3  s
    c         C@  s0   |  j  j j r |  j  S|  j  j t j |  Sd  S(   N(   Rm  R}   R8  R.  R   R&   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR[  3  s    c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   3  s    c         C@  sj   | j  d |  j j j |  j j   |  j   |  j  | j |  j   |  j  f  | j |  j	    d  S(   Ns   %s; %s(
   R   Rm  R}   t   to_py_call_codeR   R{  R   Rf   R  R   (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  3  s    			 (   RH   RI   R   R}   R{  R   R  R  R_  R   R[  R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR:  i3  s   				R9  c           B@  s    e  Z d  Z d   Z d   Z RS(   i   c         C@  s/   | j  |  } t j |  |  t j |  _ d  S(   N(   R   Rd  R  R   R   R}   (   RF   Rm  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  3  s    c         C@  sX  |  j  } | j   } | j t j t j t j f k r | j j r\ | j d | | f  n | j d |  | j d | j	 |  j
   | j d  n  d  } | j t j k	 r | j j t j d t } | j d | | f  | } n  | j d |  j   | | j |  j   |  j
  f  | d  k	 rA| j j |  n  | j |  j    d  S(   Ns   if ((%s < 0) || (%s > 255)) {s   if (%s > 255) {sO   PyErr_SetString(PyExc_OverflowError, "value too large to pack into a byte"); %sR   R   s   %s = (char)%s;s*   %s = PyBytes_FromStringAndSize(&%s, 1); %s(   Rm  R   R}   R   R   R   RY  R  R   R   Rf   RB   R   R   R   R   R   R  R   (   RF   R   Rm  t
   arg_resultRw  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  3  s0    						 (   RH   RI   R   R  R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR9  3  s   	R>  c           B@  s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C@  s   t  j |  |  | |  _ d |  _ | j |  sH t | j d |  n  |  j j s` |  j j r |  j	 j
 r |  j	 j r |  j	 j j r t | j d | d d q n  d  S(   Ni   s$   Cannot convert Python object to '%s's=   Obtaining '%s' from externally modifiable global Python valueRb   (   Rd  R  R}   R   R@  R   Rf   R
  R  Rm  Rk  R   R  R   (   RF   R  Rm  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  3  s    			'	
c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   3  s    c         C@  s&   |  j  j o% |  j  j o% |  j j   S(   N(   R}   R&  R   Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   3  s    c         C@  s   d  } |  j j ro |  j j t k ro |  j j j d  ro d |  j j t d  } t j	 |  j | d  qo n  | j
 |  j j |  j j   |  j   |  j | d |  |  j j r | j |  j    n  d  S(   Nt   __Pyx_PyObject_Ast   __Pyx_PyBytest   __Pyx_PyObjects   expected bytes, NoneType foundt   from_py_function(   RB   R}   R
  Rm  R   R  R  Rm   Rb  Rx  R   Rj  R   R   Rf   RX   R  (   RF   R   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  3  s    +c         C@  s   t  |  j d  d  S(   Ns0   Coercion from Python not allowed without the GIL(   R   Rf   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   3  s    (   RH   RI   R  R   R   R	  R   (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR>  3  s
   				RU  c           B@  s   e  Z e j Z i d  e j 6d e j 6d e j 6d e j	 6d e j
 6d e j 6d e j 6Z d   Z d   Z d Z d	   Z d
   Z d   Z RS(   t   PyList_GET_SIZEt   PyTuple_GET_SIZEt   PySet_GET_SIZEt   PyBytes_GET_SIZEt   PyByteArray_GET_SIZEt   __Pyx_PyUnicode_IS_TRUEc         C@  s,   t  j |  |  | j j r( d |  _ n  d  S(   Ni   (   Rd  R  R}   RX   R   (   RF   Rm  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  4  s    c         C@  s>   |  j  j j r: |  j j |  j  j  d  k r: |  j   n  d  S(   N(   Rm  R}   RX   t   _special_builtinsRQ   RB   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   4  s    -s   Truth-testing Python objectc         C@  s$   |  j  r |  j   t S|  j j   S(   N(   R   R   R   Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   4  s    	
c         C@  s   d |  j  j   S(   Ns	   (%s != 0)(   Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   $4  s    c         C@  s   |  j  s d  S|  j j |  j j  } | d  k	 r |  j j   rV d |  j j   g n g  } | j d | |  j j   f  | j	 d |  j
   d j |  f  n> | j	 d |  j
   |  j j   | j |  j
   |  j  f  d  S(   Ns   (%s != Py_None)s   (%s(%s) != 0)s   %s = %s;s   &&s"   %s = __Pyx_PyObject_IsTrue(%s); %s(   R   R  RQ   Rm  R}   RB   R_  R   R   R   R   R<  R  Rf   (   RF   R   RR  t   checks(    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  '4  s    	+ )	(   RH   RI   R   R  R}   R   R   R   R   t   frozenset_typeR   R   R   R  R  R   R  R   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRU  4  s   	





				RA  c           B@  s#   e  Z d    Z d   Z d   Z RS(   c         C@  sH   | j  j r | j |  } n  | |  _  t j |  |  | j |  d  S(   N(   R}   R?  R   Rd  R  R  (   RF   Rm  RC  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  94  s
    	c         C@  sd   |  j  j j r8 d |  j  j   } d |  j  j   } n |  j  j   } d } d |  j j | | f S(   Ns   __Pyx_CREAL(%s)s   __Pyx_CIMAG(%s)R  s
   %s(%s, %s)(   Rm  R}   R?  R   R  (   RF   RF  RG  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   @4  s    	c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  L4  s    (   RH   RI   R  R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRA  74  s   		R\  c           B@  s2   e  Z d    Z d Z d   Z d   Z d   Z RS(   c         C@  sY   t  j |  |  |  j j j   |  _ |  j j |  _ d |  _ |  j j rU t |  _	 n  d  S(   Ni   (
   Rd  R  Rm  R}   t   as_argument_typeRd   R   RX   R   R   (   RF   Rm  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  T4  s    	s#   Creating temporary Python referencec         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   ^4  s    c         C@  sJ   |  j  j |  |  _  |  j  j   r+ |  j  S|  j  j |  _ |  j |  _ |  S(   N(   Rm  R   R^  R}   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   b4  s    c         C@  s   | j  d |  j   |  j j |  j    f  |  j r |  j j rc | j |  j   |  j    q |  j j	 r | j
 |  j   |  j  q n  d  S(   Ns   %s = %s;(   R   R   Rm  R   R   R   R}   RX   R  R   R  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  j4  s    	&	(   RH   RI   R  R  R   R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR\  O4  s
   			R  c           B@  sw   e  Z d  Z d Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d	   Z d
   Z d   Z RS(   s   
    A node that should not be replaced by transforms or other means,
    and hence can be useful to wrap the argument to a clone node

    MyNode    -> ProxyNode -> ArgNode
    CloneNode -^
    c         C@  s0   t  t |   j |  | j |  _ |  j   d  S(   N(   RC   R  R  Rd   t   _proxy_type(   RF   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  4  s    c         C@  s#   |  j  j |  |  _  |  j   |  S(   N(   Rm  R   R  (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   4  s    
c         C@  s   |  j  j |  S(   N(   Rm  Rk   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   4  s    c         C@  s[   t  |  j d  r3 |  j j |  _ |  j j |  _ n  t  |  j d  rW |  j j |  _ n  d  S(   NR}   R   (   R   Rm  R}   R   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  4  s
    c         C@  s   |  j  j |  d  S(   N(   Rm  R	  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  4  s    c         C@  s   |  j  j   S(   N(   Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   4  s    c         C@  s   |  j  j   S(   N(   Rm  R^  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^  4  s    c         C@  s   |  j  j   S(   N(   Rm  R_  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  4  s    c         C@  s   |  j  j |  d  S(   N(   Rm  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  4  s    c         C@  s   |  j  j |  d  S(   N(   Rm  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  4  s    c         C@  s   |  j  j |  d  S(   N(   Rm  R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  4  s    N(   RH   RI   R  RB   R   R  R   Rk   R  R	  R   R^  R_  R  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  v4  s   										R+  c           B@  s   e  Z g  Z d Z d    Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z d	   Z d
   Z d   Z RS(   c         C@  sh   t  j |  |  | j |  _ t | d  rF | j |  _ | j |  _ n  t | d  rd | j |  _ n  d  S(   NR}   R   (   Rd  R  Rd   R   R}   R   R   (   RF   Rm  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  4  s    c         C@  s   |  j  j   S(   N(   Rm  R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   4  s    c         C@  s   |  j  j   S(   N(   Rm  R_  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  4  s    c         C@  s   |  j  j |  S(   N(   Rm  R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   4  s    c         C@  s   |  j  j |  S(   N(   Rm  Rk   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyRk   4  s    c         C@  sO   |  j  j |  _ |  j  j |  _ d |  _ t |  j  d  rK |  j  j |  _ n  |  S(   Ni   R   (   Rm  R}   R   R   R   R   (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   4  s    	c         C@  s8   |  j  j r |  j  j | |  St t |   j | |  S(   N(   Rm  R   R.  RC   R+  (   RF   t	   dest_typeRZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  4  s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR^  4  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  4  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  4  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  4  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  4  s    N(   RH   RI   R   RB   R   R  R   R_  R   Rk   R   R.  R^  R  R	  R  R  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR+  4  s   												R  c           B@  s   e  Z d    Z RS(   c         C@  s2   | j  r |  j j |  r |  St j |  | |  S(   N(   R  R}   R;  R+  R.  (   RF   RC  RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR.  4  s    (   RH   RI   R.  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  4  s   t   ModuleRefNodec           B@  s>   e  Z e Z e Z g  Z d    Z d   Z d   Z	 d   Z
 RS(   c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   4  s    c         C@  s   t  S(   N(   R   (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR_  4  s    c         C@  s   t  j S(   N(   R   R`  (   RF   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR    5  s    c         C@  s   d  S(   N(    (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  5  s    (   RH   RI   R   R}   R   R   R   R   R_  R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  4  s   			t   DocstringRefNodec           B@  s8   e  Z d  g Z e Z e Z d   Z d   Z d   Z	 RS(   R  c         C@  s/   t  j |  |  | j j s" t  | |  _ d  S(   N(   R   R  R}   RX   R   R  (   RF   Rf   R  (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  5  s    c         C@  s   |  S(   N(    (   RF   RZ   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR   5  s    c         C@  sj   | j  d |  j   |  j j   | j t j d   | j |  j   |  j  f  | j |  j    d  S(   Ns   %s = __Pyx_GetAttr(%s, %s); %sR  (	   R   R   R  R4  R   R  R   Rf   R  (   RF   R   (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR	  5  s
    	 (
   RH   RI   R   R   R}   R   R   R  R   R	  (    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyR  5  s   			t   protosF   
static CYTHON_INLINE int __Pyx_ErrOccurredWithGIL(void); /* proto */
t   impls   
static CYTHON_INLINE int __Pyx_ErrOccurredWithGIL(void) {
  int err;
  #ifdef WITH_THREAD
  PyGILState_STATE _save = PyGILState_Ensure();
  #endif
  err = !!PyErr_Occurred();
  #ifdef WITH_THREAD
  PyGILState_Release(_save);
  #endif
  return err;
}
sN   
static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname);
s   
static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
    PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
}
sM   
static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname);
s   
static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) {
    PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
}
sJ   
static void __Pyx_RaiseUnboundMemoryviewSliceNogil(const char *varname);
s  
static void __Pyx_RaiseUnboundMemoryviewSliceNogil(const char *varname) {
    #ifdef WITH_THREAD
    PyGILState_STATE gilstate = PyGILState_Ensure();
    #endif
    __Pyx_RaiseUnboundLocalError(varname);
    #ifdef WITH_THREAD
    PyGILState_Release(gilstate);
    #endif
}
t   requirest   RaiseTooManyValuesToUnpacks   ObjectHandling.ct   RaiseNeedMoreValuesToUnpackt   UnpackTupleError(7  t
   __future__R    t   cythont   declareR9  t   bintt   ret   sysR  t   os.pathR   R	   t   ErrorsR   R   R   R   R   R
   t   CodeR   R   R  R   R   R   R#   R$   R%   R   R   R&   R'   R(   R)   R*   R   R   R   R   R   R   R   R   R   R   R+   R    R   R   t   AnnotateR,   R-   t	   DebuggingR.   t
   DebugFlagsR   R   R   t   PythranR/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   R;   R<   R=   R>   t   __builtin__R?   t   ImportErrorR^   R\   R  R_   t   version_infoR   R"   R  R!   R   t   longR@   R   R   RT   RV   RU   RW   R  t   c_const_py_unicode_ptr_typeRP   R   Ra   Ri   RB   R|   R~   R   R   R   R   R   R{  R|  R}  R  R  RR  R  R  R   R  R  R  R  R  R  R  R  R-  Rl  Rn  Rz  R  R  R  R  R  R  R  R  R  R  R  R  R  R   R*  R'  R&  R  R  R  R  R  R)  R  RV  R
  R@  RU  R^  R`  Ra  Rg  R|  R  RW  R  R  R  RG  R  R.  R2  R6  R9  R  RJ  R  R  RU  RZ  R^  Rc  Ri  Rm  Ro  Rt  Rx  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  t   not_t   invt   negRf   R  R  R(  R*  R,  R/  R1  R2  R3  R6  R7  R<  R=  R  RQ  RR  RT  RO  RP  R0  Rn  R  Rp  Ru  R}  t   matmulR  Ro   t   ltt   leRG  t   net   get   gtt   is_R  Rj  t   and_t   truedivt   floordivR  t   modR  t   or_R  t   rshiftR  t   xorR  R  R  R  R  R  R  R  R  R  R  R  t   compilet   findallR  Ru   R  R  R  R  R   R  RH  R  R  Rb  Rc  R  Rd  R/  R  R<  Rb  R:  R9  R>  RU  RA  R\  R  R+  R  R  R  R  t&   raise_unbound_local_error_utility_codet%   raise_closure_name_error_utility_codet+   raise_unbound_memoryview_utility_code_nogilR8  R  R  t   tuple_unpacking_error_code(    (    (    s8   lib/python2.7/site-packages/Cython/Compiler/ExprNodes.pyt   <module>   s  !
.(Ld												   "!"	.	XkI2$  @ 
1 <0`a   o. C7 b*  23  [6)".0$.
84"4 )I f,	


"	1
	2D&




















				-6^3pk
 R ^
O]I()4'4=			