
NWc        )   @@  sn  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 j d e d e  d  d l Z d  d l Z d  d l Z d  d l	 m
 Z
 d d l m Z d d l m Z m Z 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 d d l m Z m Z m Z m Z m Z m Z m Z d d  l m  Z  d d! l! m" Z" d d" l m# Z# d d# l m$ Z$ d d$ l m% Z% d% d& l& m' Z' d  a( e j) d  d' k re* Z+ n e* e, f Z+ d(   Z- d)   Z. d*   Z/ d+   Z0 d, e1 f d-     YZ2 d. e1 f d/     YZ3 d0   Z4 e4 d1 e f d2     Y Z5 d3 e5 f d4     YZ6 d5 e f d6     YZ7 d7 e5 f d8     YZ8 d9 e5 f d:     YZ9 d; e9 f d<     YZ: d= e5 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     YZA dK e5 f dL     YZB dM e5 f dN     YZC dO e5 f dP     YZD dQ eC f dR     YZE dS eC f dT     YZF dU eC f dV     YZG dW eC f dX     YZH dY eC f dZ     YZI d[ eC f d\     YZJ d] eC f d^     YZK d_ eC f d`     YZL da e9 f db     YZM dc e9 f dd     YZN de eN e7 f df     YZO dg e9 f dh     YZP di e9 f dj     YZQ dk e9 f dl     YZR dm e9 e7 f dn     YZS do eS f dp     YZT dq e5 f dr     YZU ds e5 f dt     YZV du eS f dv     YZW dw eS f dx     YZX dy eW f dz     YZY d{ eY f d|     YZZ d} eW f d~     YZ[ d e9 f d     YZ\ d e9 e7 f d     YZ] d e] f d     YZ^ d e] f d     YZ_ d e9 f d     YZ` d e9 f d     YZa d e9 f d     YZb d e9 f d     YZc d e9 f d     YZd d ed f d     YZe d ed f d     YZf d ed f d     YZg d ed f d     YZh d e9 f d     YZi d e9 f d     YZj d e9 f d     YZk d e9 f d     YZl d e8 f d     YZm d e9 f d     YZn d e9 f d     YZo d e9 f d     YZp d e9 f d     YZq d e9 f d     YZr d e9 f d     YZs d e9 f d     YZt d e5 f d     YZu d e9 f d     YZv d e9 f d     YZw d e f d     YZx d ex e9 f d     YZy d e5 f d     YZz d   Z{ d ex e9 f d     YZ| d e| f d     YZ} d e| f d     YZ~ d ex e9 f d     YZ d e9 f d     YZ d ed f d     YZ d e9 f d     YZ d e5 f d     YZ d e9 f d     YZ d e f d     YZ d e f d     YZ d e9 f d     YZ d e f d     YZ i d d f d 6d d f d 6Z i d d d f d 6d d d f d 6Z d e9 f d     YZ d e9 f d     YZ d e9 f d     YZ d e5 f d     YZ d e9 e f d     YZ d e f d     YZ d e f d     YZ d e9 f d     YZ e$ j r
d Z n d Z e  j d d  Z e  j d d  Z e  j d d  Z e  j d d  Z e  j d d  Z e  j d d  Z e  j d d  Z e  j d d  Z e  d d ddde g  Z d S(  i    (   t   absolute_importNt   syst   ost   copyt   Builtint   errort   warningt   Namingt
   PyrexTypest   py_object_typet   ModuleScopet
   LocalScopet   ClosureScopet   StructOrUnionScopet   PyClassScopet   CppClassScopet   UtilityCodet   EncodedStringt   absolute_path_lengtht
   error_typet   _py_int_types(   t   chaini   (   R   (   R   R   t   InternalErrort   CompileError(   R   (   R   (   t	   TypeSlots(   R	   R   (   R
   R   R   R   R   R   t   TemplateScope(   R   (   R   (   t   Future(   t   Options(   t
   DebugFlagsi   (   t   add_metaclassi   c         C@  sM   t  d k r- t t j j t j     a  n  |  d j   t  d |  d f S(   s  
    We embed the relative filename in the generated C file, since we
    don't want to have to regenerate and compile all the source code
    whenever the Python install directory moves (which could happen,
    e.g,. when distributing binaries.)

    INPUT:
        a position tuple -- (absolute filename, line number column position)

    OUTPUT:
        relative filename
        line number

    AUTHOR: William Stein
    i    i   (   R   t   lenR   t   patht   abspatht   getcwdt   get_filenametable_entry(   t   pos(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   relative_position)   s    !c         C@  s   t  j s | Sd t |   } | d  k r3 t |  S| j } | d  k	 rv y | j |  Wqv t k
 rr d  } qv Xn  | s t |  } n t | d |  } | | _ | S(   Nu   File: %s (starting at line %s)u   
(   R   t   embed_pos_in_docstringR$   t   NoneR   t   encodingt   encodet   UnicodeEncodeError(   R#   t	   docstringt   pos_lineR'   t   doc(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   embed_position>   s     	
		c         C@  s&  d  } t } } |  j r xk |  j D]` \ } } | j s> q# n  | j d k re t } | s | }  q q# | j d k r# t } | }  q# q# W| r | r t |  j d  q n  |  j	 |  } | d  k	 r| r | r | j
 r t |  j d  n  t |  j d | d t } n t |  j d  | | f S(	   Nt   typet   ctypes9   Duplicate type declarations found in signature annotationsO   Python type declaration in signature annotation does not refer to a Python typet   is_args6   Unknown type declaration found in signature annotation(   s   types   type(   s   ctypes   ctype(   R&   t   Falset   is_dict_literalt   key_value_pairst   is_string_literalt   valuet   TrueR   R#   t   analyse_as_typet   is_pyobjectt   CAnalysedBaseTypeNode(   t
   annotationt   envt	   base_typet   explicit_pytypet   explicit_ctypet   nameR5   t   arg_type(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   _analyse_signature_annotationX   s0    
			
c         @  s      f d   } | S(   Nc          @  s%  t  |   d k rt |  d    r|  d  \ } } d d | j | j j  j | j d f } | j j j   } | j	 |  | j j j   } | j d 7_  |  |   } | j d 8_ | | j j j   k r | j j j
 |  n" | j d d d  } | j	 |  | S |  |   Sd  S(   Ni   i   s(                       /* %s -> %s.%s %s */t    i   s   ->s   <-(   R   t
   isinstancet
   call_levelt	   __class__t   __name__R#   t   buffert   streamt   tellt   putlnt   truncatet   replace(   t   argst   kwdst   nodet   codet   markert   pristinet   startt   res(   t   codewriter_classt   func(    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   fu   s&    %
	(    (   RV   RU   RW   (    (   RU   RV   s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   write_func_callt   s    t   VerboseCodeWriterc           B@  s   e  Z d    Z RS(   c         C@  s   d d l  m } d d l m } t |  } x? | j   D]1 \ } } t | |  r9 t | |  | | <q9 q9 Wt t	 |   j
 |  | | |  S(   Ni    (   t   FunctionTypei   (   t   CCodeWriter(   t   typesRZ   t   CodeR[   t   dictt   itemsRC   RX   t   superRY   t   __new__(   t   clsR?   t   basest   attrsRZ   R[   t   mnamet   m(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRa      s    (   RF   t
   __module__Ra   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRY      s   t   CheckAnalysersc           B@  s,   e  Z d  Z e d d d g  Z d   Z RS(   sC   Metaclass to check that type analysis functions return a node.
    t   analyse_typest   analyse_expressionst   analyse_target_typesc         C@  s   d d l  m } d   } t |  } xN | j   D]@ \ } } t | |  r2 | |  j k r2 | | |  | | <q2 q2 Wt t |   j |  | | |  S(   Ni    (   RZ   c         @  s      f d   } | S(   Nc          @  s4     |  |   } | d  k r0 d  |  | f GHn  | S(   Ns   %s %s %s(   R&   (   RM   t   kwargst   retval(   RV   R?   (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   call   s    (    (   R?   RV   Rn   (    (   RV   R?   s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   check   s    (	   R\   RZ   R^   R_   RC   t   methodsR`   Rh   Ra   (   Rb   R?   Rc   Rd   RZ   Ro   Re   Rf   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRa      s    	(   RF   Rg   t   __doc__t   setRp   Ra   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRh      s
   c         C@  s   t  j r t t  |   S|  S(   N(   R   t   debug_trace_code_generationR   RY   (   Rb   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   _with_metaclass   s    	t   Nodec           B@  s   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 d  Z d Z d   Z d   Z d   Z d   Z d   Z d	   Z d
   Z d   Z d  d d d d  Z e d d  Z RS(   i    c         K@  s   | |  _  |  j j |  d  S(   N(   R#   t   __dict__t   update(   t   selfR#   t   kw(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   __init__   s    	t	   Operationc         C@  s   t  |  j d |  j  d  S(   Ns   %s not allowed without gil(   R   R#   t   gil_message(   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt	   gil_error   s    c         C@  s   | j    s |  j   n  d  S(   N(   t   is_cppt	   cpp_error(   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt	   cpp_check   s    c         C@  s   t  |  j d |  j  d  S(   Ns   %s only allowed in c++(   R   R#   t   cpp_message(   Rx   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR      s    c         C@  sk   t  j  |   } xU | j D]J } t | |  } t | t  r t | | g  | D] } | ^ qM  q q W| S(   sc  Clone the node. This is defined as a shallow copy, except for member lists
           amongst the child attributes (from get_child_accessors) which are also
           copied. Lists containing child nodes are thus seen as a way for the node
           to hold multiple children directly; the list is not treated as a separate
           level in the tree.(   R   t   child_attrst   getattrRC   t   listt   setattr(   Rx   t   resultt   attrnameR5   t   x(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt
   clone_node   s    *c         C@  s   d  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   analyse_declarations  s    c         C@  s   t  d |  j j   d  S(   Ns*   analyse_expressions not implemented for %s(   R   RE   RF   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    c         C@  s   t  d |  j j   d  S(   Ns$   generate_code not implemented for %s(   R   RE   RF   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   generate_code  s    c         C@  s&   t  |  t  r" |  j j |  n  d  S(   N(   RC   t	   BlockNodet   bodyt   annotate(   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s   y |  j  SWn t k
 r |  j } |  j s: | |  _  | Sx| |  j D]q } t |  |  } | d  k rh qD t | t  r x; | D] } t | | j	    } q~ WqD t | | j	    } qD W| |  _  | SXd  S(   N(
   t   _end_post   AttributeErrorR#   R   R   R&   RC   R   t   maxt   end_pos(   Rx   R#   t   attrt   childt   c(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR      s"    				R#   id   c   
   	   @  s\    d k r d S d k r( t    n  t |    k rT d |  j j t |   f S j t |         f d    g  |  j j   D]$ \ } } |  k r | | f ^ q } t |  d k r d |  j j t |   f Sd | } d |  j j t |   f }	 x8 | D]0 \ } } |	 d | |  | | d	  f 7}	 qW|	 d
 | 7}	 |	 Sd S(   sY   Debug helper method that returns a recursive string representation of this node.
        i    s   <...nesting level cutoff...>s   <%s (0x%x) -- already output>c         @  ss   t  |  t  r) |  j |    d   St  |  t  re d d j g  |  D] }  | |  ^ qH  St |   Sd  S(   Ni   s   [%s]s   , (   RC   Ru   t   dumpR   t   joint   repr(   R   t   levelt   item(   t   cutofft
   dump_childt   encounteredt
   filter_out(    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   @  s
    -s   <%s (0x%x)>s     s   <%s (0x%x)
s   %s  %s: %s
i   s   %s>N(	   R&   Rr   t   idRE   RF   t   addRv   R_   R   (
   Rx   R   R   R   R   t   keyR5   Rd   t   indentRT   (    (   R   R   R   R   s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   5  s"    :
(s   (#)c   	      C@  s   |  j  s d S|  j  \ } } } | j d d d d  } | t d | d  | !} | d } | rz | |  | | | } n  | j   d	 | d <| | | | d
 !7} d | j   | | d j |  f S(   s[   Debug helper method that returns the source code context of this node as a string.
        u    R'   t   ASCIIt   error_handlingt   ignorei    i   iu                # <<<<<<<<<<<<<<
i   u   "%s":%d:%d
%s
(   R#   t	   get_linesR   t   rstript   get_escaped_descriptionR   (	   Rx   t   mark_columnRQ   t   source_desct   linet   colt   contentst   linest   current(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   dump_posS  s    	
N(   s   pos(   RF   Rg   t   is_namet   is_nonet   is_nonecheckt
   is_literalt   is_terminatorR&   t   tempsR   t   cf_statet   coercion_typeRz   R|   t   nogil_checkR}   R   R   R   R   R   Rj   R   R   R   R   R1   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRu      s0   				%					t   CompilerDirectivesNodec           B@  sD   e  Z d  Z d g Z d   Z d   Z d   Z d   Z d   Z RS(   s9   
    Sets compiler directives for the children nodes
    R   c         C@  s2   | j  } |  j  | _  |  j j |  | | _  d  S(   N(   t
   directivesR   R   (   Rx   R;   t   old(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   m  s    	c         C@  s7   | j  } |  j  | _  |  j j |  |  _ | | _  |  S(   N(   R   R   Rj   (   Rx   R;   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   s  s
    		c         C@  sP   | j  } | j j  } |  j  | j _  |  j j | |  | | _  | | j _  d  S(   N(   R   t   globalstateR   t   generate_function_definitions(   Rx   R;   RP   t   env_oldt   code_old(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   z  s    		c         C@  s;   | j  j } |  j | j  _ |  j j |  | | j  _ d  S(   N(   R   R   R   t   generate_execution_code(   Rx   RP   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s;   | j  j } |  j | j  _ |  j j |  | | j  _ d  S(   N(   R   R   R   R   (   Rx   RP   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    (	   RF   Rg   Rq   R   R   Rj   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   d  s   					R   c           B@  s   e  Z d    Z d   Z RS(   c         C@  s8   | j    j } x | D] } | j j |  q W| 2d  S(   N(   t   global_scopet   undeclared_cached_builtinsR   t   add_cached_builtin_decl(   Rx   R;   RP   t   entriest   entry(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   generate_cached_builtins_decls  s    c         C@  s(   x! | j  D] } | j | |  q
 Wd  S(   N(   t   lambda_defsR   (   Rx   R;   RP   RO   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   generate_lambda_definitions  s    (   RF   Rg   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s   	t   StatListNodec           B@  sM   e  Z d  g Z e d    Z d   Z d   Z d   Z d   Z d   Z	 RS(   t   statsc         O@  s   t  |  | |  } | S(   N(   R   (   R#   R;   RM   Ry   RO   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   create_analysed  s    c         C@  s%   x |  j  D] } | j |  q
 Wd  S(   N(   R   R   (   Rx   R;   t   stat(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s,   g  |  j  D] } | j |  ^ q
 |  _  |  S(   N(   R   Rj   (   Rx   R;   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    %c         C@  s(   x! |  j  D] } | j | |  q
 Wd  S(   N(   R   R   (   Rx   R;   RP   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s5   x. |  j  D]# } | j | j  | j |  q
 Wd  S(   N(   R   t   mark_posR#   R   (   Rx   RP   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s%   x |  j  D] } | j |  q
 Wd  S(   N(   R   R   (   Rx   RP   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    (
   RF   Rg   R   t   staticmethodR   R   Rj   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s   					t   StatNodec           B@  s   e  Z d    Z d   Z RS(   c         C@  s   d  S(   N(    (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s   t  d |  j j   d  S(   Ns.   generate_execution_code not implemented for %s(   R   RE   RF   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    (   RF   Rg   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s   	t   CDefExternNodec           B@  s5   e  Z d  g Z d   Z d   Z d   Z d   Z RS(   R   c         C@  sK   |  j  r | j |  j   n  | j } d | _ |  j j |  | | _ d  S(   Ni   (   t   include_filet   add_include_filet   in_cincludeR   R   (   Rx   R;   t   old_cinclude_flag(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    			c         C@  s   |  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s   |  j  j |  d  S(   N(   R   R   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    (   RF   Rg   R   R   Rj   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s
   				t   CDeclaratorNodec           B@  s   e  Z g  Z d  Z d   Z RS(   t    c         C@  s   d  S(   N(   R&   (   Rx   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   analyse_templates  s    (   RF   Rg   R   t   calling_conventionR   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s   t   CNameDeclaratorNodec           B@  s#   e  Z d  g Z d Z d d  Z RS(   t   defaulti    c         C@  s   | r |  j  d k r | j s0 | j s0 | j rC t |  j d  q | j r_ t |  j d  q | j d d d d d |  _  t } n  | j	 r | j
 r | j | j
  } n  | |  _ |  | f S(   NR   s   Missing argument namesJ   Use spam() rather than spam(void) to declare a function with no arguments.t   for_displayi   t   pyrex(   R?   t   is_ptrt   is_arrayt	   is_bufferR   R#   t   is_voidt   declaration_codeR	   t   is_fusedt   fused_to_specifict
   specializeR.   (   Rx   R<   R;   t   nonempty(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   analyse  s    			N(   RF   Rg   R   R&   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s   	t   CPtrDeclaratorNodec           B@  s   e  Z d  g Z d d  Z RS(   t   basei    c         C@  sD   | j  r t |  j d  n  t j |  } |  j j | | d | S(   Ns+   Pointer base type cannot be a Python objectR   (   R8   R   R#   R   t
   c_ptr_typeR   R   (   Rx   R<   R;   R   t   ptr_type(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   #  s    	(   RF   Rg   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s   	t   CReferenceDeclaratorNodec           B@  s   e  Z d  g Z d d  Z RS(   R   i    c         C@  sD   | j  r t |  j d  n  t j |  } |  j j | | d | S(   Ns-   Reference base type cannot be a Python objectR   (   R8   R   R#   R   t
   c_ref_typeR   R   (   Rx   R<   R;   R   t   ref_type(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   /  s    	(   RF   Rg   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   *  s   	t   CArrayDeclaratorNodec           B@  s    e  Z d  d g Z d d  Z RS(   R   t	   dimensioni    c         C@  s  | j  r | j   s | j r d d l m } t |  j |  rO |  j j } n |  j f } g  | D] } | j |  ^ qb } d  | k r | j
 d   } t | | j d  t } n | j |  j |  } |  j j | | d | S|  j rk|  j j |  |  _ |  j j j s&t |  j j d  n  |  j j   }	 |	 d  k	 rqy t |	  }	 Wqht k
 rdqhXqqn d  }	 | j   st |  j d |  n  | j rt |  j d  n  | j rt |  j d  n  t j | |	  }
 |  j j |
 | d | S(	   Ni   (   t	   TupleNodes   Template parameter not a typeR   s   Array dimension not integers%   Array element type '%s' is incompletes'   Array element cannot be a Python objects"   Array element cannot be a function(   t   is_cpp_classt   is_template_typet   is_cfunctiont	   ExprNodesR   RC   R   RM   R7   R&   t   indexR   R#   R   t   specialize_hereR   R   t   analyse_const_expressionR.   t   is_intt   get_constant_c_result_codet   intt
   ValueErrort   is_completeR8   R   t   c_array_type(   Rx   R<   R;   R   R   RM   t   vt   valuest   ixt   sizet
   array_type(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   <  s>    "		
		(   RF   Rg   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   6  s   t   CFuncDeclaratorNodec           B@  sS   e  Z d  d d g Z d Z d Z d Z d Z d   Z d d d  Z	 d d  Z
 RS(   R   RM   t   exception_valuei    c         C@  s   t  |  j t  r d d l m } m } |  j j } t  | |  rO | j } n/ t  | |  rj | g } n t | j	 d  d  Sg  |  _ xL | D]D } t  | |  r |  j j t j | j   q t | j	 d  q W|  j j |  _ |  j Sd  Sd  S(   Ni   (   R   t   NameNodes*   Template arguments must be a list of names(   RC   R   R   R   R   R  R   RM   R   R#   R&   t	   templatest   appendR   t   TemplatePlaceholderTypeR?   (   Rx   R   R  t   template_nodet   template_nodest   template(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   t  s"    	c         @  s  | d  k r i  } n  | r( | d 8} n  g  } xt  j  D]\ } } | j   d | d | d k o}   j o} d   j k \ } }	 | j }
 |
 | k r$| |
 } | j    } | d  k r t | j	 d  q$|	 t
 j k	 r|	 j |  rt  j j	 d  t | j	 d  q$| }	 n  | j r@t  j	 d	  n  | d k rj  j rj|	 j rj  j }	 n  |	 j rt
 j |	 j  }	 n  |	 j rt | j	 d
  n  | j t
 j |
 |	 | j	   | j r j d 7_ q>  j r> t  j	 d  q> q> Wd  } d }  j d k rP  j d    j d    j d    j d  n  | j r j sk j r j d k rt  j	 d  n j r j j     _  j d k r j j } | j r| j r| j  o| j! j o| j rt  j j	 d  n   j } q j j" |    j     _  j j#   } | d  k rut$ d  j j% j&   n  | j'  j j  st  j j	 d  qn   j } | j  rt  j	 d  n  t
 j( | |  j) d  j d | d | d  j j* d  j+ d  j, d  j- d  j. d  j/ 	}  j rq| j0 r^   f d   } | | _1 qq j2 |    n    j d  } | r| j* } | r| | k rt  j	 d! | | f  n  | | _* n   j j |    S("   Ni   R   t   is_self_argi    R   s
   Not a types2   Signature does not agree with previous declarations   Previous declaration heres2   Function argument cannot have C name specificationsJ   Use spam() rather than spam(void) to declare a function with no arguments.s-   Non-default argument follows default argumentt   +t   iost   newt	   stdexceptt   typeinfosA   Exception clause not allowed for function returning Python objectsN   Exception value must be a Python exception or cdef function with no arguments.s1   get_constant_c_result_code not implemented for %ss6   Exception value incompatible with function return types!   Function cannot return a functiont   optional_arg_countR  t   exception_checkR   t   nogilt   with_gilt   is_overridablet   is_const_methodR  c         @  s    j  |    |  d  S(   N(   t   declare_optional_arg_struct(   t	   func_typet   fused_cname(   R;   Rx   (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   declare_opt_arg_struct  s    t   callspecs2   cannot have both '%s' and '%s' calling conventions(3   R&   t	   enumerateRM   R   t   is_c_class_scopeR   R?   R7   R   R#   R   R	   t   same_asR   t   cnamet   is_unspecifiedt   parent_typeR   R   R<   R   R  t   CFuncTypeArgR   R  R  R   R8   R  R   R.   t   is_errorR   t   return_typet	   coerce_toR   R   RE   RF   t   assignable_fromt	   CFuncTypet   has_varargsR   R  R  t   overridableR  R  R   R  R  (   Rx   R&  R;   R   t   directive_localst   func_type_argst   it   arg_nodet   name_declaratorR.   R?   t	   type_nodet
   other_typet   exc_valt	   exc_checkt   exc_val_typeR  R  R  R   (    (   R;   Rx   s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	-	
								

	
								c   	      C@  s  t    } d t j } | j | t j |  j  xG | j t | j  |  j	 D]( } | j | j
 | j | j d d qM W| j t j |  j j
  } | d k	 r t j | |  } n  | j   j d | d d d | d d	 d
 |  j d |  } d | _ d | _ t j | j  | _ d S(   s  
        Declares the optional argument struct (the struct used to hold the
        values for optional arguments). For fused cdef functions, this is
        deferred as analyse_declarations is called only once (on the fused
        cdef function).
        s   %snt   allow_pyobjecti   R?   t   kindt   structt   scopet   typedef_flagi    R#   R!  N(   R   R   t   pyrex_prefixt   declare_varR   t
   c_int_typeR#   RM   R   R  R?   R.   t   manglet   opt_arg_prefixR   R&   t   get_fused_cnameR   t   declare_struct_or_uniont   defined_in_pxdt   usedR   t   op_arg_struct(	   Rx   R  R;   R  R9  t   arg_count_membert   argt   struct_cnamet   op_args_struct(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s$    	$&				N(   RF   Rg   R   R+  R  R  R&   R  R   R   R  (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  b  s   	lt   CConstDeclaratorNodec           B@  s   e  Z d  g Z d d  Z RS(   R   i    c         C@  sD   | j  r t |  j d  n  t j |  } |  j j | | d | S(   Ns)   Const base type cannot be a Python objectR   (   R8   R   R#   R   t   c_const_typeR   R   (   Rx   R<   R;   R   t   const(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s
    		
(   RF   Rg   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRI    s   	t   CArgDeclNodec           B@  s   e  Z d  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 e d  Z d   Z d   Z d	   Z d e d
  Z RS(   R<   t
   declaratorR   R:   i    i   c   
      C@  s  | r t  |  j _ |  _ n  |  j d  k rt |  j t  r |  j j d k r | r |  j j	 r |  j j
 | d t  } | j   } n |  j j } t |  |  j _ d  |  j _ t |  j _	 n  t  } n t } t  |  j _ |  j j
 | d | } t |  j d  r'|  j j r'|  j j |  j _ n  | j rt |  j t  rt |  j t  r|  j } x t | j t  r~| j } q`W|  j j | _ | j } n  |  j r| j d r|  j j d  k r|  j |  }	 |	 d  k	 r|	 } qn  |  j j
 | | d | S|  j |  j f Sd  S(   NR   t   could_be_namet   arg_namet   annotation_typingR   (   R6   R<   R  R.   R&   RC   RM  R   R?   t   is_basic_c_typeR   t   empty_declaration_codeR   R1   R0   t   hasattrRO  R   t   TemplatedTypeNodeR   R   t   array_declaratorR:   R   t   inject_type_from_annotationsR0  (
   Rx   R;   R   R  R.   RO  RN  R<   RM  R@   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   B  s@    $			(c         C@  sD   |  j  } | s d  St | |  \ } } | d  k	 r@ | |  _ n  | S(   N(   R:   R&   RA   R<   (   Rx   R;   R:   R<   R@   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRV  o  s    	c         C@  so   |  j  d  k rh |  j rh |  j j rM |  j j |  |  j j |  j j    S| j |  j  |  _  qh n  |  j  S(   N(	   t   default_valueR&   R   R   t   generate_evaluation_codeR.   t	   cast_codeR   t   get_argument_default_const(   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   calculate_default_value_codex  s    	c         C@  s    |  j  r |  j  j |  n  d  S(   N(   R   R   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	c         C@  s   |  j  } | d  k s | j r" d  S| d  k r@ |  j |  } n  | j |  | j |  | rl | j   n | j |  j  } | j	 d | | f  |  j j
 r | j | j    n  | j |  | j |  d  S(   Ns   %s = %s;(   R   R&   R   R[  RX  t   make_owned_referenceR   t	   result_asR.   RJ   R8   t   put_givereft   generate_post_assignment_codet
   free_temps(   Rx   RP   t   targett   overloaded_assignmentR   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   generate_assignment_code  s    	$N(   RF   Rg   R   R  t   is_type_argt
   is_generict   kw_onlyt   not_nonet   or_noneR&   R.   R0  RW  R:   t
   is_dynamicR1   R   RV  R[  R   Rc  (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRL  $  s"   -			
	t   CBaseTypeNodec           B@  s   e  Z d    Z RS(   c         C@  s   |  j  |  S(   N(   R   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR7     s    (   RF   Rg   R7   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj    s   R9   c           B@  s   e  Z g  Z e d   Z RS(   c         C@  s   |  j  S(   N(   R.   (   Rx   R;   RN  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    (   RF   Rg   R   R1   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR9     s   t   CSimpleBaseTypeNodec           B@  s2   e  Z g  Z d Z g  Z e Z e Z e d   Z	 RS(   c         C@  s  d  } |  j rI t j |  j |  j |  j  } | s%t |  j d  q%n|  j d k rk |  j	 rk t
 } n|  j d  k r |  j r | j r | j } q%t
 } n|  j	 r=| } xK |  j	 D]@ } | j |  } | d  k	 r | j r | j j } q d  } Pq W| d  k rC| j |  j	 |  j  } | r:| j | _ q:qCn | } | r%| j ra| j   } n  | j |  j  } | d  k	 rq%| r|  j r| j r| j } n t
 } t |  j  |  _ q%|  j r|  j |  j k rt |  j d |  j  n  t j |  j  } q%t |  j d |  j  n  |  j rs| j sA| j rTt |  j d  n  t j |  } | j |  n1 | t j  k rt j! } | j |  t" |  _ n  | r| St j# Sd  S(   Ns&   Unrecognised type modifier combinationt   objects   '%s' is not a type identifiers#   can only complexify c numeric types($   R&   RQ  R   t   simple_c_typet   signedt   longnessR?   R   R#   t   module_pathR	   R  R  R#  t   lookupR   R.   R9  t   find_imported_moduleR   R   t   lookup_typeR   RO  R  R	  t   complext
   is_numerict
   is_complext   CComplexTypet   create_declaration_utility_codeR   t   complex_typet   c_double_complex_typeR6   R   (   Rx   R;   RN  R.   R9  R   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     sh    								N(
   RF   Rg   R   R&   RO  Rp  R1   RQ  Rt  R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRk    s   
t   MemoryViewSliceTypeNodec           B@  s/   e  Z d  Z d d g Z e d  Z d   Z RS(   t
   memoryviewt   base_type_nodet   axesc         C@  s   |  j  j |  } | j r | Sd d l m } y | j | |  j  } Wn9 t k
 r } t | j	 | j
  t j   |  _ |  j SX| j |  j |  s t |  _ n5 t j | |  |  _ |  j j |  j  |  j |  |  j S(   Ni   (   t
   MemoryView(   R}  R   R%  R   R  t   get_axes_specsR~  R   R   t   positiont   message_onlyR   t	   ErrorTypeR.   t   validate_axesR#   R   t   MemoryViewSliceTypet   validate_memslice_dtypet   use_memview_utilities(   Rx   R;   RN  R<   R  t
   axes_specst   e(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s     	 c         C@  s$   d d l  m } | j | j  d  S(   Ni   (   R  (   R   R  t   use_utility_codet   view_utility_code(   Rx   R;   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  %  s    (   RF   Rg   R?   R   R1   R   R  (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR{  	  s   t   CNestedBaseTypeNodec           B@  s   e  Z d  g Z d d  Z RS(   R<   c         C@  s   |  j  j |  } | t j k r( t j S| j sL t |  j d |  t j S| j j |  j	  } | sr | j
 r t |  j d | |  j	 f  t j S| j S(   Ns   '%s' is not a valid type scopes    '%s.%s' is not a type identifier(   R<   R   R   R   R   R   R#   R9  t   lookup_hereR?   t   is_typeR.   (   Rx   R;   RN  R<   t
   type_entry(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   2  s    	N(   RF   Rg   R   R&   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  *  s   	RT  c           B@  s5   e  Z d  d d d g Z d Z d Z e d d  Z RS(   R}  t   positional_argst   keyword_argst
   dtype_nodec         C@  s{  | d  k r! |  j j |  } n  | j r. | S| j r | j   r |  j rw |  j j rw t |  j	 d  t
 j |  _ qDg  } xM |  j D]B } | j |  } | d  k r t | j	 d  t S| j |  q W| j |  j	 |  |  _ n\| j rd d l m } | j |  j	 | |  j |  j | j  } t j d d k  rxt g  | j   D]! \ }	 }
 |	 j d  |
 f ^ qK } n  t
 j | |  |  _ n t |  j	 d d	 d
 d  } t |  j  d k s|  j j rt |  j	 d  t
 j |  _ nY |  j sd  } n |  j d } t |  j	 d | d | |  _ |  j j | |  d |  _ |  j j  rt| j! rt|  j j" | j!  |  _ n  |  j S(   Ns+   c++ templates cannot take keyword argumentss!   unknown type in template argumenti   (   t   Bufferi    i   R   R?   R   R!  s   invalid array declarationR   R   (#   R&   R}  R   R%  R   R   R  R3   R   R#   R   R   R.   R  R7   R  R   R8   R   R  t   analyse_buffer_optionst   buffer_defaultsR   t   version_infoR^   R_   R(   t
   BufferTypeR   R   R   RU  R   R   R   (   Rx   R;   RN  R<   t   template_typesR
  R.   R  t   optionsR?   R5   t   empty_declaratorR   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   P  sV    	 	7!			N(   RF   Rg   R   R&   R  R?   R1   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRT  @  s
   	t   CComplexBaseTypeNodec           B@  s    e  Z d  d g Z e d  Z RS(   R<   RM  c         C@  s4   |  j  j | |  } |  j j | |  \ } } | S(   N(   R<   R   RM  (   Rx   R;   RN  R   t   _R.   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    (   RF   Rg   R   R1   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   t   CTupleBaseTypeNodec           B@  s   e  Z d  g Z e d  Z RS(   t
   componentsc         C@  sx   g  } xJ |  j  D]? } | j |  } | j rB t | j d  t S| j |  q W| j |  j |  } t | _	 | j
 S(   Ns/   Tuple types can't (yet) contain Python objects.(   R  R   R8   R   R#   R   R  t   declare_tuple_typeR6   RC  R.   (   Rx   R;   RN  t   component_typesR   R.   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    		(   RF   Rg   R   R1   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   	t   FusedTypeNodec           B@  s)   e  Z d  Z g  Z d   Z e d  Z RS(   s  
    Represents a fused type in a ctypedef statement:

        ctypedef cython.fused_type(int, long, long long) integral

    name            str                     name of this fused type
    types           [CSimpleBaseTypeNode]   is the list of types to be fused
    c         C@  s7   |  j  |  } | j |  j | |  j  } t | _ d  S(   N(   R   t   declare_typedefR?   R#   R6   R   (   Rx   R;   R.   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s   g  } xh |  j  D]] } | j |  } | sA t | j d  q n  | | k r` t | j d  q | j |  q Wt j | d |  j S(   Ns
   Not a types   Type specified multiple timesR?   (   R\   R7   R   R#   R  R   t	   FusedTypeR?   (   Rx   R;   RN  R\   R1  R.   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    (   RF   Rg   Rq   R   R   R1   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   	t   CConstTypeNodec           B@  s   e  Z d  g Z e d  Z RS(   R<   c         C@  s>   |  j  j | |  } | j r1 t |  j d  n  t j |  S(   Ns)   Const base type cannot be a Python object(   R<   R   R8   R   R#   R   RJ  (   Rx   R;   RN  R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s
    		
(   RF   Rg   R   R1   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   	t   CVarDefNodec           B@  s,   e  Z d  d g Z d Z d Z d d  Z RS(   R<   t   declaratorsc         C@  s(  |  j  d  k r i  |  _  n  | s* | } n  | |  _ |  j rR |  j d j   } n d  } | d  k	 r |  j d k r t |  j d  n  t |  j  d k r t |  j d j d  n  t	 d |  } | j
 j | _ x* | D] } | j | j | |  j  q Wn  |  j j |  } | j rK|  j rK| j s7| j rKt |  j d  t Sd  |  _ |  j } x|  j D]} t |  j  d k rt | t  r| j d rt | j d	 d  n  |  j o|  j d k o| j } | rt | _ n  t | t  r| j | | d
 |  j  \ }	 }
 n | j | |  \ }	 }
 |
 j   sz|  j d k rW|
 j p]|
 j szt | j d |
  qzn  |  j d k r|
 j rt | j d  n  |	 j } |	 j  } | d k rt | j d  d  S|
 j! rd | j k rt" |
 _# n  | j$ | |
 | j d | d |  j d |  j d |  j% d |  j& d |  j |  _ |  j d  k	 rst' j' |  j   |  j _  n  | r |  j j( j) |  t" |  j _* q qg|  j  rt |  j d  n  | j+ | |
 | j d | d | d |  j d |  j% d d |  _ t, j- rgt. |  j |  j/  |  j _/ qgqgWd  S(   Ni    t   externs   Only extern functions allowedi   s%   Can't multiply declare template typest   func_templates   Fused types not allowed heres   warn.multiple_declaratorss   Non-trivial type declarators in shared declaration (e.g. mix of pointers and values). Each pointer declaration should be on its own line.R,  s    Variable type '%s' is incompletes'   Python object cannot be declared externR   s   Missing name in declaration.R   R!  t
   visibilityt   in_pxdt   apit	   modifiersR+  s,   Decorators can only be followed by functionst   is_cdef(0   R,  R&   t
   dest_scopeR  R   R  R   R#   R   R   t   outer_scopeR   t   declare_typeR?   R<   R   R   R  R  t   is_module_scopeR   R   RC   R   R   R+  R1   R  R   R   t   is_memoryviewsliceR8   R!  R   R6   t   is_static_methodt   declare_cfunctionR  R  R   R.   t   create_to_py_utility_codet   create_wrapperR<  R   t
   docstringsR-   R,   (   Rx   R;   R  R  t   template_paramR<   R  RM  t   create_extern_wrapperR0  R.   R?   R!  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    			 			
		$!			!		N(   RF   Rg   R   R&   t
   decoratorsR,  R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   t   CStructOrUnionDefNodec           B@  s8   e  Z d  g Z d d  Z d   Z d   Z d   Z RS(   t
   attributesc         C@  sO   | j  |  j |  j | |  j |  j |  j d |  j d |  j d |  j |  _	 d  S(   NR  R  t   packed(
   RA  R?   R7  R:  R#   R!  R  R  R  R   (   Rx   R;   R9  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   declareU  s    c         C@  s   d  } |  j d  k	 r' t |  j  } n  |  j | |  |  j d  k	 r |  j rh | j rh d |  j _ n  x! |  j D] } | j	 | |  qr W|  j
 d k r x[ | j D]M } | j } x | j r | j } q W| |  j j k r t | j d  q q Wq n  d  S(   Ni   R  s)   Struct cannot contain itself as a member.(   R&   R  R   R?   R  R  R   R   RB  R   R  t   var_entriesR.   R   R<   R   R#   (   Rx   R;   R9  R   R.   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   [  s     	c         C@  s   |  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   m  s    c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   p  s    N(   RF   Rg   R   R&   R  R   Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  G  s
   			t   CppClassNodec           B@  sD   e  Z d Z d    Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         C@  s   |  j  d  k r d  } n g  |  j  D] \ } } t j | |  ^ q" } t d   |  j  D  } | r t d   |  j  |  D  r t |  j d  n  | j |  j	 d  |  j |  j
 d g  d |  j d | |  _ d  S(   Nc         s@  s   |  ] \ } } | Vq d  S(   N(    (   t   .0R  t   required(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pys	   <genexpr>  s    c         s@  s   |  ] \ } } | Vq d  S(   N(    (   R  R  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pys	   <genexpr>  s    sG   Required template parameters must precede optional template parameters.t   base_classesR  R  (   R  R&   R   R	  t   sumt   allR   R#   t   declare_cpp_classR?   R!  R  R   (   Rx   R;   R  t   template_nameR  t   num_optional_templates(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    	,%c      
   @  s1   j  d  k r d  } } nQ g   j  D] \ } } | ^ q& } g   j  D] \ } } t j | |  ^ qH } d  }  j d  k	 r t  j | d | } n   f d   } t | g   j D] }	 |	 j	 | p |  ^ q  }
 | j
  j |  j  j |
 d  j d |  _  j d  k r)d  Sd  j _ | d  k	 rS j j | _ n  g  }   f d      j d  k	 r j r| j rd  j _ n  x  j D] } | j |  qWxO    j  D]; } | j |   j  d  k	 rd d j |  | _ qqWn  t  j d |  _ |  _ d  S(	   NR  c         @  s.   |  j  s |  j r t St   j d |   d  S(   Ns&   Base class '%s' not a struct or class.(   R   t	   is_structR6   R   R#   (   t
   base_class(   Rx   (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   base_ok  s    R  i   c         3@  s`   xY |  D]Q } t  | t  r$ | Vq t  | t  r x"   | j j  D] } | VqF Wq q Wd  S(   N(   RC   t   CFuncDefNodeR   R   R   (   R  R   t   sub_attr(   t   func_attributes(    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    s   template <typename %s>s   , typename R   (   R  R&   R   R	  R  R   R?   t   filterR  R   R  R#   R!  R  R   R   R.   R  R   RB  R   R  R   t   template_declarationR   R   R9  (   Rx   R;   R  t   template_namesR  R  R  R9  R  t   bt   base_class_typest   defined_funcsR   RV   (    (   R  Rx   s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s>    ",4! c         C@  s"   |  j  j |  j j j  |  _  |  S(   N(   R   Rj   R   R.   R9  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    c         C@  s    |  j  j |  j j j |  d  S(   N(   R   R   R   R.   R9  (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s   |  j  j |  d  S(   N(   R   R   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s   |  j  j |  d  S(   N(   R   R   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    N(
   RF   Rg   R&   R  R  R   Rj   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  t  s   		,			t   CEnumDefNodec           B@  s5   e  Z d  g Z d   Z d   Z d   Z d   Z RS(   R_   c         C@  s[   | j  |  j |  j d |  j d |  j d |  j d |  j d |  j oN |  j d  k |  _	 d  S(   NR!  R:  R  R  R  (
   t   declare_enumR?   R#   R!  R:  R  R  R  R&   R   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s
    c      	   C@  s  |  j  d  k	 r[ |  j r1 | j r1 d |  j _ n  x' |  j  D] } | j | |  j  q; Wn  |  j d  k	 r t d   |  j  D  |  j j	 _
 n  |  j r	|  j d  k	 r	d d l m } | j | j d d d i |  j d 6t d   |  j  D  d	 6d
 | j    n  d  S(   Ni   c         s@  s   |  ] } | j  Vq d  S(   N(   R?   (   R  R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pys	   <genexpr>  s    (   t   CythonUtilityCodet   EnumTypes   CpdefEnums.pyxt   contextR?   c         s@  s   |  ] } | j  Vq d  S(   N(   R?   (   R  R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pys	   <genexpr>  s    R_   t   outer_module_scope(   R_   R&   R  R   R   RB  R   R?   Rr   R.   R   R  R   R  R  t   loadt   tupleR   (   Rx   R;   R   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    %	c         C@  s   |  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    c         C@  s   |  j  d k s |  j r | j |  j  | j j t j d t } x |  j	 j
 D] } | j d | | j | j | | j  f  | j |  | j d t j | j | | j | j  f  | j | t j  qP W| j j |  n  d  S(   Nt   publict
   manage_refs   %s = PyInt_FromLong(%s); %ss.   if (PyDict_SetItemString(%s, "%s", %s) < 0) %s(   R  R  R   R#   t	   funcstatet   allocate_tempR   R	   R6   R   t   enum_valuesRJ   R!  t   error_goto_if_nullt
   put_gotrefR   t   moddict_cnameR?   t
   error_gotot   put_decref_cleart   release_temp(   Rx   RP   t   tempR   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s     		(   RF   Rg   R   R  R   Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s
   				t   CEnumDefItemNodec           B@  s   e  Z d  g Z d   Z RS(   R5   c         C@  s   |  j  rc |  j  j |  |  _  |  j  j j sc |  j  j t j |  |  _  |  j  j |  |  _  qc n  | j |  j | j |  j  |  j	 d |  j
 d | j d | j d | j o | j d  k } | j j |  | j r | j j j | j
  n  d  S(   NR!  R  R  R  (   R5   R   R.   R   R'  R   R=  t   declare_constR?   R#   R!  R  R  R  R&   R  R  R   (   Rx   R;   t
   enum_entryR   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   
  s    		(   RF   Rg   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   	t   CTypeDefNodec           B@  s/   e  Z d  d g Z d   Z d   Z d   Z RS(   R<   RM  c      
   C@  s   |  j  j |  } |  j j | |  \ } } | j } | j } | j | | |  j d | d |  j d |  j } | j	 r t
 | _ n  |  j r | j r d | _ n  d  S(   NR!  R  R  i   (   R<   R   RM  R?   R!  R  R#   R  R  R   R6   R   R  RB  (   Rx   R;   R   R0  R.   R?   R!  R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   #  s    			c         C@  s   |  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   3  s    c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   6  s    (   RF   Rg   R   R   Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   		t   FuncDefNodec           B@  s   e  Z e Z e Z e Z e Z e Z e Z	 e Z
 g  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 d   Z d   Z d   Z d   Z d   Z  RS(   c         C@  s   d } x |  j  D] } | j r} d } | j ra | j j |  | _ | j j | j |  | _ q t | j d  d  | _ q | j	 r d } q | r t | j d  q q Wd  S(   Ni    i   s)   This argument cannot have a default values/   Non-default argument following default argument(
   RM   R   Re  Ri   R'  R.   R   R#   R&   Rf  (   Rx   R;   t   default_seenRF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   analyse_default_values]  s    				c         C@  s9   x2 |  j  D]' } | j r
 | j j |  | _ q
 q
 Wd  S(   N(   RM   R:   Ri   (   Rx   R;   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   analyse_annotationsm  s    	c         C@  s  |  j  } | j } | j | k r@ | | j } | j |  } nT t | t  r | j r | j d r | j } | j |  } | d  k r | Sn | S| d  k r t
 | j d  nK | t k	 r | j |  r t
 | j j d  t
 | j d  n	 | | _ | S(   NRP  s
   Not a types2   Signature does not agree with previous declarations   Previous declaration here(   R,  R.   R?   R7   RC   RL  R:   R   RV  R&   R   R#   R	   R   R<   (   Rx   R;   RF  R,  t	   orig_typeR1  R2  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   align_argument_typer  s$    		%		c         C@  s   d S(   Ni    (    (   Rx   t   lenv(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   need_gil_acquisition  s    c      	   C@  s   | } x | j  s | j r' | j } q	 W|  j ra t d |  j j d | d | d |  j j  } n! t d |  j j d | d |  } |  j	 | _	 |  j j
 } | j r | j o | j | _ n  | |  _ | j | _ | S(   NR?   R  t   parent_scopet
   scope_name(   t   is_py_class_scopeR  R  t   needs_closureR   R   R?   R!  R   R&  R.   R   R  R  t   local_scopeR   (   Rx   R;   t   genvR  R.   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   create_local_scope  s$    				c         C@  s   |  j  j |  d  S(   N(   R   R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   generate_function_body  s    c   '      C@  sT  d d l  m } |  j j r/ d d l  m } n  |  j } | j rd | j rd d t j	 t j
 f } n	 t j
 } | j |  |  j j | |  |  j | |  |  j j d k o |  j j j } |  j j d k o |  j j j } | p | }	 |	 rd |  j k r|  j d g |  _ qn  |  j   }
 | j j d } | j j d	 } | sQ| rp| j j t j d
 d   n  | j |  | j   | _ | j | j _ | j  |  j!  |  j" | |  | j# d  |
 r| j# |
  n  |  j$ | |  p|  j% } |  j& r"|  j& j' | d | d t( n  |  j' | d | | } x | j) sP| j r\| j* } q>W|  j+ r| j, | j- j. j/ t j	   | j# d  np |  j0 r| j r| j, | j- j. j/ t j	   | j# d  n  | j, | j- j. j/ t j
   | j# d  n  |  j1 | |  x3 | j2 D]( } | j3 p4| j4 s| j5 |  qqWd } |  j j6 s|  j j7 rrd } n |  j j rd | j8 } n  | j# d |  j j/ t j9  | f  n  | j:   } |  j; |  | j< |  |  j= } |  j+ p|  j0 } x' | j> D] } | j. j7 rt( } PqqWg  | j? D] } | j@ r,| ^ q,} | j ob| jA ob| pb| } | j o{| jA o{| } | j p| jA } | s| r| jB   t( | j _ n | j r| jA r| jC   n  | s| r| jD   |  jE r|  jE jF |  n d  } | jH |  n  | rH| jI   | jJ |  j j d | n  | r^|  jK |  n  |  j+ rtL jM d d  } tL jN | j- j. j |  } | sd | j- j. jO } n  | j# d t j	 | j- j. jP   | | j- j. jO t jQ f  | j# d t j	  | r|  jR |  n  | rA| jS   | s1| rA| jT   qAn  |  jU   } | d  k r|  jV   stW |  j j! d |  j jX d  | jY |  j jX | j  n  | j# d  n | j# d |  | j# d  | jZ t j	  n  |  j0 r|  j[ r | j# d | | j- j. jP   t j\ f  n) | j# d | | j- j. jP   t j\ f  | j ro| j# d  t j	 | f  q|  j+ r| j] | | j- j.  | j^ |  qn  | s| rt_ |  t`  r|  ja r|  j j d! } n |  j j } | jb | |  j! d" | j j t( | j _c n  |  jd | |  t_ |  te  } x | j> D] } | j. j7 r| sitf | jg  d k r| j3 r| jh |  qq<| r<| j. j r<tf | jg  d k r<| ji | jj d# | j j q<q<Wxb | j2 D]W } | j4 rtf | jg  d k r| j3 r| jk r!	| jl |  q1	| jh |  qqWxF | j2 | j> D]4 } | j. jm rF	| jn jo j@ rF	| jp | |  qF	qF	W|  jq |  x6 | j> D]+ } | j. jm r	| jr | | |  j!  q	q	W| r	| jT   ts | j _ n  |  jt | |  | j  |  j! d$ ts | j# d  | j# d%  |  j ju s
|  j j7 rZ
t j9 } | jv | |  j  q
|  j jw }  |  r
| j# d  t j9 |  f  q
n  | jx | jy k r&|  j ju s
| jz | j{  n  | j| | jx  x7 | j j}   D]& \ }! }" | j~ |! |" d# | j q
Wtf |  d k }# |# r| j j t  | j# d&  | j# d'  | j# d(  | j# d)  x | D] } | j | |  qjW| j# d*  n  |  j j r| j t j9 |  t j9 } n |  jU   } |  jV   }$ | d  k	 s|$ rY| j r| jA r| j# d+  | jB   n  | j |  j jX  | j r| jA r| jT   | j# d  qn9 tW |  j j! d |  j jX d  | jY |  j jX | j  |  j jw }% | d  k r|% r|% } n  | d  k	 r| j# d  t j9 | f  n  | r|  jR |  n  |# s| s|  j j r&| jz | j  q&n  | j| | j{  x | D] } | j | |  q=W| rm|  j |  n  |  j j r| j |  j j t j9   }& | j# d, |&  | j r| jB   n  | j# d-  | j r| jT   n  | j# d  n  | j| | j  x | j2 D] } | j@ s| j3 r*qn  | j. j rS| j | jj d# | j q| j. j7 r| j4 s~tf | jg  d k r| jk r| j |  q| j |  qqqWx | j> D] } | j. j7 r| stf | jg  d k rG| j3 rG| j |  qGq| j. j r| s*tf | jg  d k r| j | jj d# | j qqW|  j+ rp| j t j	 | j- j.  n  | j s|  j jw }% |  jU   } | d  k r|% r|% } n  |  j j7 r| j |  j j t j9   qn  |  j j r|  j j d. k r| j# d/ t j9 t j9 f  n  | s$| ryts | j _c |  j j7 r\| j t j9 d" | j j qy| j d0 d" | j j n  | j s| jS   n  | s| j r| jA r| jT   ts | j _ n  |  j j6 s| j# d t j9  n  | j# d  |
 r
| j# d1 |
  n  | j | j  | j   |  j& rC|  j& j | |  n  |  j |  d  S(2   Ni   (   R  (   R  s   %s->%st   __getbuffer__t   __releasebuffer__t   cython_unusedt   profilet	   linetracet   Profiles	   Profile.cR   t   with_pymethdeft
   proto_onlyt   ;s    = NULLs    = s   %s%s;t   acquire_gilt   tp_newRa   s
   %s->tp_news   %s = (%s)%s(%s, %s, NULL);s   if (unlikely(!%s)) {s&   Unraisable exception in function '%s'.i    s   return;s
   return %s;t   }s*   %s = (%s) __Pyx_CyFunction_GetClosure(%s);s   %s = (%s) %s;s   %s = %s;s
    (wrapper)R  t   have_gilt   traces   /* function exit code */s0   { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;t   __Pyx_PyThreadState_declaret   __Pyx_PyThreadState_assigns5   __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);s5   __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}t   {s	   if (%s) {sO   PyErr_SetString(PyExc_TypeError, "Memoryview return value is not initialized");t   __hash__s5   if (unlikely(%s == -1) && !PyErr_Occurred()) %s = -2;t   Py_Nones   #endif /*!(%s)*/(   R   R  R&  R  R  R  t   is_closure_scopet   is_passthroughR   t   cur_scope_cnamet   outer_scope_cnamet   mangle_closure_cnamesR   R   R   R   R?   R9  R  R  t   get_preprocessor_guardR   R   R  R   t   load_cachedt   enter_cfunc_scopet	   new_labelt   return_from_error_cleanup_labelR  R  t	   gil_ownedR   R#   R   RJ   t   needs_assignment_synthesist   pymethdef_requiredt   py_funct   generate_function_headerR6   R  R  R  t   putt   scope_classR.   R   t   needs_outer_scopet   generate_argument_declarationsR  t
   in_closureR0   t   put_var_declarationR   R8   t   memslice_entry_initt   retval_cnamet   insertion_pointt   generate_keyword_listt&   generate_library_function_declarationsR  t   arg_entriest   buffer_entriesRC  t   has_with_gil_blockt   put_ensure_gilt   declare_gilstatet   put_trace_declarationst   code_objectt   calculate_result_codeR&   t   put_trace_frame_initt   put_declare_refcount_contextt   put_setup_refcount_contextt   getbuffer_initR   t   ConstructorSlott   get_slot_functiont   typeptr_cnameRR  t   empty_tuplet   getbuffer_error_cleanupt   put_finish_refcount_contextt   put_release_ensured_gilt   error_valuet   caller_will_check_exceptionsR   t   qualified_namet   put_unraisableR  t   is_cyfunctiont
   self_cnamet
   put_increfR^  RC   t   DefNodet
   is_wrappert   put_trace_callt	   can_tracet   generate_argument_parsing_codeR  R   t   cf_assignmentst   put_var_increft   put_incref_memoryviewsliceR!  t   xdecref_cleanupt   put_var_xincrefR   t
   buffer_auxt   buflocal_nd_vart   put_init_varst   generate_argument_type_testst   put_acquire_arg_bufferR1   R  R   t   put_init_to_py_noneRW  t   error_labelt   labels_usedt   put_gotot   return_labelt	   put_labelt   all_managed_tempst   put_xdecreft   restore_exception_utility_codet   put_release_buffer_codet   put_init_entryt   put_add_tracebackt   getbuffer_normal_cleanupt   unlikelyt   error_conditiont   put_xdecref_memoryviewslicet   put_var_xdecreft   put_var_decreft
   put_decreft   put_xgivereft   as_pyobjectt
   is_specialt   put_trace_returnt   put_temp_declarationst   exit_cfunc_scopet   generate_wrapper_functions('   Rx   R;   RP   R  R  R  R  t   is_getbuffer_slott   is_releasebuffer_slott   is_buffer_slott   preprocessor_guardR   R  R  t   cenvR   t   initt   tempvardecl_codeR  t   have_object_argsRF  t   used_buffer_entriest   acquire_gil_for_var_decls_onlyt   acquire_gil_for_refnanny_onlyt   use_refnannyR0  t   tp_slott   slot_func_cnamet   err_valt
   trace_nameR  t   lhst   valR!  R.   t   buffers_presentR4  t   default_retvalt   cond(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     sF   													%

!
		
						%'#(	
	 
			
	%			"		

	c         C@  s~   | j  j r t | j d  nC | j  j   rb | j  j pD | j  j rb t | j d | j   n  | j | j | j  | j  S(   Ns   Invalid use of 'void's    Argument type '%s' is incomplete(	   R.   R   R   R#   R   R   R  t   declare_argR?   (   Rx   R;   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   declare_argumentR  s
    )c      	   C@  s   | j  j   r | j j t j d d   | j  j } d | j j } | j	 d | | | j
 | j | j  j | j | j  f  n t | j d  d  S(   Nt   ArgTypeTests   FunctionArguments.cs   ((PyObject *)%s)s:   if (unlikely(!__Pyx_ArgTypeTest(%s, %s, %d, "%s", %s))) %ssI   Cannot test type of extern C class without type object name specification(   R.   t   typeobj_is_availableR   R  R   R  R8  R   R!  RJ   t   accept_noneR?   t   is_builtin_typeR  R#   R   (   Rx   RF  RP   R8  t   arg_code(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   generate_arg_type_testY  s    		c         C@  s   | j  j r d | j j } n | j j } | j d |  | j d t d t | j   | j | j | j	  f  | j d  d  S(   Ns
   %s.memviews,   if (unlikely(((PyObject *)%s) == Py_None)) {sM   PyErr_Format(PyExc_TypeError, "Argument '%%.%ds' must not be None", "%s"); %si   R  (
   R.   R  R   R!  RJ   R   R   R?   R  R#   (   Rx   RF  RP   R!  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   generate_arg_none_checkk  s    	c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRl  x  s    c         C@  sA   | j  |  j  x* |  j D] } | j s | j |  q q Wd  S(   N(   R   R#   RM   Ri  Rc  (   Rx   RP   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   {  s    	c         C@  sW   |  j  j d j } | j d |  | j d |  | j d |  | j d  d  S(   Ni   s   if (%s != NULL) {s)   %s->obj = Py_None; __Pyx_INCREF(Py_None);s   %s->objR  (   R  R*  R!  RJ   R^  (   Rx   RP   t   info(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR5    s
    c         C@  sc   |  j  j d j } | j d | | f  | j d |  | j d | | f  | j d  d  S(   Ni   s$   if (%s != NULL && %s->obj != NULL) {s   %s->objs&   __Pyx_DECREF(%s->obj); %s->obj = NULL;R  (   R  R*  R!  RJ   R  (   Rx   RP   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR:    s    		c         C@  sY   |  j  j d j } | j d | | f  | j d  | j d |  | j d  d  S(   Ni   s'   if (%s != NULL && %s->obj == Py_None) {R  s&   __Pyx_DECREF(Py_None); %s->obj = NULL;R  (   R  R*  R!  RJ   R  (   Rx   RP   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR_    s
    c         C@  s   |  j  j s d  S|  j  j } t j j |  } | s8 d  S| d k r^ |  j  j j d  r^ d  S| d k r} |  j  j j	 r} d  S| j
   S(   Nt   __long__t   __int__R  R  (   s   __getbuffer__s   __releasebuffer__(   R   Rh  R&   R?   R   t   method_name_to_slott   getR9  R  R  t   preprocessor_guard_code(   Rx   R?   t   slot(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    "(!   RF   Rg   R&   R  R1   R  R!  R  t   is_generatort   is_generator_bodyt   is_async_defR  t   has_fused_argumentst   star_argt   starstar_argRA  R0  R  R  R  R  R  R  R   R  R  R  Rl  R   R5  R:  R_  R  (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  :  s<   							 					
	
			R  c           B@  s  e  Z d  d d d g Z e Z d Z d Z d Z d Z	 d Z
 e Z d Z d   Z d   Z d   Z d   Z d d d	  Z d
   Z d   Z d   Z d   Z d d  Z d d d d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  RS(   R<   RM  R   t   py_func_statc         C@  s
   |  j  j S(   N(   R   R?   (   Rx   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   unqualified_name  s    c         C@  s  | j  |  _ |  j d  k r' i  |  _ n  |  j j | j d  |  j d  k	 r |  j j |  } | d  k r t |  j j	 d  t
 j } q n |  j j |  } d | j k o | j d  |  _ t |  j t  r|  j j | | d d |  j d  k	 d |  j \ } } n. |  j j | | d d |  j d  k	 \ } } | j sWt |  j	 d  n  | |  _ |  j | _ |  j } x t | d  s| j } qxW| |  _ | j |  _ |  j j } |  j d	 k s|  j r| rt |  j j	 d
  n  | j d k r|  j d k rt  |  j j	 d  n  xt! |  j | j  D] \ } } |  j" | |  | j | _ | j# | _# | j$ | _$ |  j% | j | j	 |  | j j& rt' |  _( n  | j j) rd |  j* k rt  | j	 d d  n  | j j) r3|  j j+ r t | j	 d  q(d |  j* k r(t  | j	 d d  q(q3q3W|  j% | j, |  j	 |  | j# }	 | j$ }
 |  j- | _- |  j | _ | j. |	 | |  j	 d |
 d |  j d |  j d |  j d  k	 d |  j* d |  j |  _/ |  j0 |  j/ _1 | j, |  _, |  j, j2 r|  j d k rt |  j	 d  n  |  j, j3 r1|  j, j4 |  j	 d  n  |  j r| j5 r|  j rt6 |  j  d k  sw|  j d j j7 rt8 |  _ qn  |  j9 |  |  j: |  d  S(   Nt   localss
   Not a typeR   R   i   R,  s*   Suite attached to non-function declarationRM   R  sB   Function with optional arguments may not be declared public or apiR  R  s/   Only extern functions can throw C++ exceptions.t   inlines$   Buffer unpacking not optimized away.i   sU   Buffer may not be acquired without the GIL. Consider using memoryview slices instead.R!  R  R  t   definingR  R+  s   Function cannot return an arrays   used as a return valuei    (;   R  t   is_c_class_methodR,  R&   Rw   R   t   directive_returnsR7   R   R#   R   R   R<   R   R  R  RC   RM  R  R   R   R.   R+  R  RS  R   t   cfunc_declaratorRM   R  R  R  R  R   t   zipR  R?   R!  t   _validate_type_visibilityR   R6   R  R   R  R  R&  R  R  R   t   inline_in_pxdt   inline_func_in_pxdR   R   t   check_nullary_constructorR  R   R8   R1   t   declare_cpdef_wrapperR  (   Rx   R;   R<   R0  R.   RM  t   opt_arg_countt
   formal_argt   type_argR?   R!  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    "		%				

"	
		)c         C@  s  |  j  r|  j r% t |  j d  n  |  j j } |  j d | j  } |  j r d d l m	 } t
 |  j d | |  j d d g } | d j j |  n g  } t d	 |  j d |  j j d
 |  j d d  d d  d |  j d | d | d d  	|  _ | j |  j _ |  j j |  t |  j d |  j g |  _ t j |  j _ |  j j |  j _ t |  j _ |  j j _ |  j | j | <|  j j r| j st j rt |  j d |  j |  _  t |  j d |  j  |  j! g |  _! qn  d  S(   Ns&   static cpdef methods not yet supportedR  i   (   R  t	   decoratorR?   R   i    R#   RM   R  R  R,   R   R  RE  R   R  ("   R+  R  R   R#   R   R?   t   call_self_nodeR  R   R  t   DecoratorNodeR  Ri   RD  RM   R&   R,   R  R   R   R  R   R	   R.   t   as_variableR6   RC  R   t   is_final_cmethodR   t   lookup_module_cpdeft   OverrideCheckNodet   overrideR   (   Rx   R;   R?   t   py_func_bodyR  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  0	  s<    			'		c         C@  sw   |  j  d k p |  j } t | d d  } | rs | rs | j rs | j  d k p] | j p] | j ss t | d  qs n  d S(   so   
        Ensure that types used in cdef functions are public or api, or
        defined in a C header.
        R  R   R  s:   Function declared public or api may not have private typesN(   s   publics   extern(   R  R  R   R&   R  R   R   (   Rx   R.   R#   R;   t   public_or_apiR   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  S	  s    i    c         C@  s  d d l  m } |  j j } | r? | t |  |  j j  } n  g  | D] } | j ^ qF } | r | j |  j d |  j	 j } | } t
 j }	 n |  j j r |  j	 j j j	 }
 | j |  j d |
 j } |
 | _	 | j |  j d | d |  j	 j } t }	 n^ |  j j d j j	 } | j |  j d | j } | | _	 | j |  j d | d |  j	 j } | pkt
 j }	 | j |  j d | d g  | D] } | j |  j d | ^ qd	 |	 } t d
 |  j d t j d |  S(   Ni   (   R   R?   t   objt	   attributei    t   functionRM   t   wrapper_callR#   R&  R5   (   R   R   R.   RM   R   R  R?   R  R#   R   R   R  R  R9  R#  t   AttributeNodeR6   t   SimpleCallNodet   ReturnStatNodeR   R	   (   Rx   t   omit_optional_argsR  R   RM   RF  t	   arg_namest   cfunct   call_arg_namest   skip_dispatcht   class_entryt
   class_nodeR  R  t   nt   c_call(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  _	  s4    	$		$	+	c         C@  sG   x@ |  j  j D]2 } | j s/ t | j d  n  |  j | |  q Wd  S(   Ns   Missing argument name(   R.   RM   R?   R   R#   R  (   Rx   R;   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   declare_arguments~	  s    	c         C@  s
   |  j  j S(   N(   R.   R  (   Rx   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  	  s    c         C@  s   |  j  } | j } | j r | r | j j rA t |  j d  n  x@ |  j j D]/ } | j  j rN | j	 rN t |  j d  qN qN Wn  d  S(   Ns9   Function with Python return type cannot be declared nogils8   Function declared nogil has Python locals or temporaries(
   R.   R  R  R&  R8   R   R#   R  R  t   in_with_gil_block(   Rx   R;   R.   R  R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   	  s    			
c         C@  si   | j  |  j _  |  j d  k	 r6 |  j j |  |  _ n |  j |  |  j |  |  j |  j  |  _ |  S(   N(	   R   R  R  R&   Rj   R  R  R  R  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   	  s    c         C@  s   t  S(   N(   R1   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  	  s    i   c         C@  sT  |  j  } g  } |  j } xf | j t | j  | j  D]G }	 |	 j   }
 | j |	 j  } | j sp d |
 }
 n  | j	 |
  q6 W| r |  j
 r t j j t j  } |  j r | j	 |  q | j	 d |  n  | j r | r | j	 | j j t j   n  | j r| j	 d  n  | s+d g } n  | d  k rF|  j j } n  | j | d j |   } |  j j d k rd | k rd } n d } d  } | j |  j j  } |  j j | d	 | } |  j } |  j r	| r| j j d
 j  |  j  n  | j  |  j  n  | r6| j j d
 j  d | | | f  n  | j  d | | | f  d  S(   Ns   CYTHON_UNUSED %ss   ...t   voids   , t   privates   ::s   static R   t   dll_linkaget   module_declarationss   %s%s%s; /* proto*/s   %s%s%s {(!   R  R.   RM   R   R  R   Rq  R?   t   cf_usedR  R+  R   R=  R   t   skip_dispatch_cnameR  RD  t   optional_args_cnameR*  R&   R   t
   func_cnamet   function_header_codeR   R  t   build_function_modifierst   func_modifiersR&  R  R  R   t   partsRJ   (   Rx   RP   R  t   with_opt_argst   with_dispatchR!  R9  t	   arg_declsR.   RF  t   arg_declR   t   dispatch_argt   entityt   storage_classR  R  t   headert   needs_proto(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  	  sN    		$							c         C@  s   |  j  } xy |  j D]n } | j r | j | j  } |  j sF | j r | j |  } | j d | j	 j
 | j  | f  q q q Wd  S(   Ns   %s = %s;(   R  RM   R   Rq  R?   R  R  R[  RJ   R.   R   R!  (   Rx   R;   RP   R9  RF  R   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR"  	  s    			c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR(  	  s    c   
      @  s{  d } d } |  j  } |  j j r; j d t j  x |  j D]     j r? | j   j	  } |  j
 sr | j r  j d t j t j | f    j } x t | d  s | j } q W j d   j t j |  j j | j	  f  | d 7} n  | d 7} q? q? Wx! t |  D] }  j d  qW j d  n     f d   }	 x' |  j D]   |	 | j   j	   qWWd  S(	   Ni    s	   if (%s) {s   if (%s->%sn > %s) {R?   s   %s = %s->%s;i   R  c         @  sQ   |  j  rM   j rM  j d |  j |  j f   j |    j |   n  d  S(   Ns   %s = %s;(   R#  R   RJ   R!  t   original_cnameRJ  t   put_var_giveref(   R   (   RF  RP   (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   put_into_closure	  s    (   R  R.   R  RJ   R   R  RM   R   Rq  R?   R  R  R;  RM  RS  R   R!  t   opt_arg_cnamet   rangeR  (
   Rx   R;   RP   R.  RC  R9  R   RM  R  R  (    (   RF  RP   s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRH  	  s4    					c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt!   generate_argument_conversion_code	  s    c         C@  s`   xY |  j  j D]K } | j r/ |  j | |  q | j  j r | j r |  j | |  q q Wd  S(   N(   R.   RM   t   needs_type_testR  R8   R  R  (   Rx   RP   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRQ   
  s
    	c         C@  s6   t  t |   j |  |  j r2 |  j j |  n  d  S(   N(   R`   R  R   R  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   	
  s    	c         C@  s!   |  j  j r d S|  j j j Sd  S(   Nt   0(   R&  R8   R   R.   R  (   Rx   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR=  
  s    c         C@  s   |  j  j j S(   N(   R   R.   R  (   Rx   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR>  
  s    c      	   C@  s  d } |  j  } | j } x{| j d  k	 r| d 7} | j } d |  j  j t j | f | _ | j   |  j | d d | j j	 d | j j
 d | j |  j j s | j d  n  |  j j } g  | t |  |  j j
  D] } | j ^ q } | j j	 r| j t j  n | j	 r'| j d  n  | j j
 rF| j t j  n | j
 r_| j d	  n  | j d
 |  j  j d j |  f  | j d  q Wd  S(   Ni    i   s   %s%swrap_%sR  R  R!  s   return R  t   NULLs   %s(%s);s   , R  (   R   R.   t
   prev_entryR&   R  R   R;  RJ   R  R  R  R&  R   R  RM   R   R!  R  R  R  R   (   Rx   RP   t   kR   R  RM   RF  t   arglist(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRl  
  s6    		
	
	
0		&N(!   RF   Rg   R   R1   R  R&   R  R,  R  R  R  R  R  R  R   R  R  R  R  R  R   Rj   R  R  R"  R(  RH  R  RQ  R   R=  R>  Rl  (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s:   		]	#					-	
		#						t   PyArgDeclNodec           B@  s#   e  Z g  Z e Z e Z d    Z RS(   c         C@  s   |  j  j | |  d  S(   N(   R   R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   C
  s    (   RF   Rg   R   R1   R  Rd  R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  8
  s   R  c           B@  s   e  Z d  g Z RS(   R  (   RF   Rg   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  G
  s   RD  c           B@  sd  e  Z d  d d 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 e Z d Z d Z e Z d Z d Z e Z d Z d Z d   Z d d e d d d	  Z d
   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 d  Z) d   Z* d   Z+ d   Z, d   Z- RS(   RM   R  R  R   R  t   return_type_annotationR  i    c         K@  s   t  j |  | |  d } } } xS |  j D]H } | j r] | d 7} | j s] | d 7} q] n  | j s+ | d 7} q+ q+ W| |  _ | |  _ | |  _ d  S(   Ni    i   (   R  Rz   RM   Rf  R   t   num_kwonly_argst   num_required_kw_argst   num_required_args(   Rx   R#   RN   R  t   rkt   rRF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRz   |
  s    	
				c         C@  s;  |  j  r t |  j  j d  n  |  j r> t |  j j d  n  | d  k rg  } x] |  j D]R } | j | d d \ } }	 | j t j	 d | j
 d d  d t d | j   qZ Wt j d	 t d
 | d t d d  d t d t d t d |  }
 t |  j d |
 } n | d  k r| j } n  | j }
 t |  j  t |
 j  k sL|
 j rot |  j d  t | j d  n  x t t |  j |
 j   D]u \ } \ } } | j | d d d | d k o| j \ } }	 |	 d  k s|	 t j k r| j | _ | | _ qqWd d l m } |
 j d  k r,d  } n$ | j |  j d |
 j d |
 j } t |  j d t |  j d |  j
 d d  d
 |  j d t d |
 j d | d |
 j d |
 j  } t! |  j d | pg  d t" |  j d |
 j d | d |  j# d |  j$ d |
 j% d |
 d |
 j d |
 j  d d d  t d! t& | d! i   d" | S(#   Ns'   cdef function cannot have star arguments+   cdef function cannot have starstar argumentR   i   R?   R!  R.   R#   R&  RM   R*  R  R  R  R  R  s   wrong number of argumentss   previous declaration hereR  i    (   R   R5   R   R  R<   RM  R   R,   R+  R  R  R  R,  R  ('   R  R   R#   R  R&   RM   R   R  R   R$  R?   R	   R)  R1   R  R9  R.   R   R*  R  R  R  R0  R   R   R  t	   ConstNodeR&  R  R   R  R  R  R  R9   R   R,   R  R   (   Rx   R  R9  R+  t   returnsR  t
   cfunc_argsR  R0  R.   t
   cfunc_typeR.  R  R   R  RM  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   as_cfunction
  sx    				'.									c         C@  s'   |  j  r t S|  j s |  j r# t St S(   s   Determines if the function's signature is compatible with a
        cdef function.  This can be used before calling
        .as_cfunction() to see if that will be successful.
        (   R  R1   R  R  R6   (   Rx   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   is_cdef_func_compatible
  s
    	c         C@  s  t  |  _ |  _ |  j ru xY |  j D]K } | j } | j r# |  j | j d k O_ |  j | j d k O_ q# q# Wn  |  j r | j d  r t  |  _ n  |  j r | j d  r t  |  _ n  |  j d k r | j r d |  _ n  |  j	 |  |  j d k r|  j
 |  n |  j |  |  j |  |  j j j   |  _ |  j t k r|  j r| j d r|  j j rt |  j |  \ } } | r| j r| |  _ qqn  |  j |  t |  j d |  d |  j j d	 |  j d
 |  j d |  j d |  j |  _ |  j j |  d  S(   Nt   classmethodR   Ra   i   s   <lambda>RP  Ra  R?   RM   R  R  R&  (   R1   t   is_classmethodt   is_staticmethodR  R  R   R?   R  R  t   analyse_argument_typest   declare_lambda_functiont   declare_pyfunctiont   analyse_signatureR   t	   signatureR&  R	   R  R   Rh  RA   R8   R  t   DefNodeWrapperR#   RM   R  R  t
   py_wrapperR   (   Rx   R;   R  RV   R  R&  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   
  sD    			"				c         C@  s%  | j  d |  _ | j  d } | j } d  | _ x|  j D]} t | d  rW d  } nW | j j |  } | j j | |  \ } } | j	 | _	 | | _
 | j r t |  _ n  |  j | |  | r | j r t |  j d  n  | j
 j   | _
 d  | _ d | _ d | _ d | _ | j
 j s:| j
 j s:| j
 j r| j rOt | _ q| j rdt | _ q| j
 j s| j
 j s| j
 j s| j
 j r| j  r| j  j! d  k rt | _ q| | _ qt | _ q9 t | _ | j rt | j d  n  | j r9 t | j d  q9 q9 W| | _ d  S(	   NR  t   allow_none_for_extension_argsR?   s9   Python function argument cannot have C name specificationi    i   s.   Only Python type arguments can have 'not None's-   Only Python type arguments can have 'or None'("   R   R,  R   R&   RM   RS  R<   R   RM  R?   R.   R   R6   R  R  R!  R   R#   t   as_argument_typet   hdr_typet   needs_conversionR  Re  R8   R   R  Rh  R  Rg  R1   t   is_extension_typeR  R   t   constant_result(   Rx   R;   R  t   f2sRF  R0  R<   R.   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    sL    									$					c         C@  sc  |  j  j rY |  j r( t |  j d  n  t |  j  d k oM |  j pL |  j |  j  _	 nD| j
 d r|  j pv |  j r|  j  j t j k r
t |  j  d k r t j |  j  _ qt |  j  d k r|  j d j d  k r|  j d j rt j |  j  _ qqq|  j  j t j k rt |  j  d k rFt j |  j  _ qt |  j  d k r|  j d j d  k r|  j d j rt j |  j  _ qqqn  |  j  j } | j   } | t j k r| d k rt |  j  d k r|  j rt j } |  j  _ d |  _ d } n  |  j rk| j rkd } t |  _ t j |  |  j  _ } d | _ t | _ t | _ n  |  j s}|  j r|  j r| j r|  j  j! 2n  x.t" t# | t |  j    D]} |  j | } d | _$ | j% |  r@|  j r@|  j rd | _& t' j( | _) | _* n d | _% | j+ | _) | _* d | _, nW | j- |  | _) | j* j. | j)  s| j) j/ r| j* j/ rd | _0 qd | _, n  | j, rt1 j2 | j3 | _4 qt1 j5 | j3 | _4 qW| t |  j  k r|  j6   d  S| t |  j  k  r_| j s|  j6   n  xA |  j D]3 } | j$ r%| j* j7 sL| j* j8 r%d | _0 q%q%Wn  d  S(   Ns8   special functions of cdef classes cannot have decoratorsi   t   always_allow_keywordsi    i   t   *(9   R   Rh  R  R   R#   R   RM   R  R  t   trivial_signatureR   R  R   t   pyfunction_signaturet   pyfunction_noargsR   R&   Rf  t   pyfunction_oneargt   pymethod_signaturet	   unaryfunct   ibinaryfunct   num_fixed_argst   self_in_starargR  R  R6   R   t   fixed_arg_formatt   has_generic_argsR  R  t   decorator_indirectionR   R  t   minRe  R  Rd  R   t	   type_typeR  R.   R#  R   t   fixed_arg_typeR   R8   R  R   t
   arg_prefixR?   t	   hdr_cnamet
   var_prefixt   bad_signatureR  R  (   Rx   R;   t   sigt   nfixedR.  RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  7  sz    	1!''					%					
	!c         C@  s   |  j  j } d | j   } | j r2 | d 7} n  |  j } | j d  rb | j d  rb d } n d } t |  j d | |  j t	 |  j
  | f  d  S(   Ns   %ds    or moret   __s   Special methodt   Methods>   %s %s has wrong number of arguments (%d declared, %s expected)(   R   R  R  R  R?   t
   startswitht   endswithR   R#   R   RM   (   Rx   R  t   expected_strR?   t   desc(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    			c         C@  sz  |  j  } | j |  } | r | j rG | j j rG t |  j d  n  | j j r | j	 r |  j
 r t |  j d d  q n  | j | |  j d |  j
 } | |  _ | j | j  } t j | | |  j _ t j rmt |  j |  j  | _ t j | | | _ | j rv| j  t j k sG| j sG| j  d k rS| j d rSd  | _ qjt j | | | _ qvn	 d  | _ d  S(   Ns:   Only final types can have final Python (def/cpdef) methodss'   Overriding cdef method with def method.i   t   allow_redefinet   __getattr__t   fast_getattr(    R?   R  R  R#  t   is_final_typeR   R#   R.   R   t   is_builtin_cmethodRE  R   R  R   t   next_idt   scope_prefixR   t   pyfunc_prefixt   pyfunc_cnameR   R  R-   R,   t   funcdoc_prefixt	   doc_cnameRh  R   t	   invisibleR   R&   t   wrapperbase_cnamet   wrapperbase_prefix(   Rx   R;   R?   R   t   prefix(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s(    	 			c         C@  s=   | j  |  j |  j  } d  | _ | |  _ | j |  j _ d  S(   N(   R  t   lambda_nameR#   R&   R,   R   R!  R)  (   Rx   R;   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    		c         C@  s   x |  j  D] } | j s, t | j d  n  | j rt | j | j | j | j  | _ | j j r d | j _	 q n |  j
 | |  | _ d | j _ d | j _ | j | j _ q
 W|  j | |  j  |  j | |  j  d  S(   Ns   Missing argument nameR  i   (   RM   R?   R   R#   R   R<  R.   R   R8   Rr  R  R0   RC  R  t   declare_python_argR  R  (   Rx   R;   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    		!c         C@  sz   | rv | j  d t k r% t j } n t } | j | j | | j  } d | _ d | _	 d | _
 d | _ | | _ n  d  S(   Nt   infer_typesi   R  (   R   R1   R   t   unspecified_typeR	   R<  R?   R#   R0   RC  Rr  RL  R   (   Rx   R;   RF  R.   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR1    s    				c         C@  s   | j  |  j _  |  j |  |  j |  |  j rJ |  j j |  |  _ n  |  j |  r |  j r x6 |  j d  d  d  D] } | j j	 |  | _ qz Wn  |  j
 j |  |  S(   Ni(   R   R  R  R  R  Ri   R  R  R  Rj   R  t   prepare_argument_coercion(   Rx   R;   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    	c         C@  s   |  j  r t S|  j s+ |  j s+ |  j j r/ t S|  j r< t S|  j j rL t S| j	 r} | d  k rl | j d S| j j d Sn  | j p | j S(   Nt   binding(   R  R6   RE  t   specialized_cpdefsR   t   is_fused_specializedR1   t   no_assignment_synthesist   is_anonymousR  R&   R   R   R  R  (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    			c         C@  s   |  j  j j S(   N(   R   R  R=  (   Rx   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR=    s    c         C@  s   |  j  j j S(   N(   R   R  R  (   Rx   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR>    s    c         C@  sg   |  j  r |  j  j | |  n  |  j rP |  j j |  j _ |  j j | |  n  t j |  | |  d  S(   N(   t   defaults_getterR   t   py_wrapper_requiredR   R  R  R  (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    		c         C@  s  | r, |  j  r( |  j j | | t  n  d  Sg  } |  j j j rt d t j } |  j	 sd d | } n  | j
 |  n  d   } x$ |  j D] } | j
 | |   q W|  j r | j
 | |  j   n  |  j r | j
 | |  j   n  d j |  } |  j j |  j j  }	 | j d }
 |  j   } | r>|
 j |  n  |
 j d |	 | f  | rk|
 j d  n  | j d |	 | f  d  S(	   Ns   PyObject *%ss   CYTHON_UNUSED c         S@  sS   |  j  } | j r | j } n	 | j } | j j |  } | j sO d | } n  | S(   Ns   CYTHON_UNUSED (   R   R#  R  R!  R.   R   R  (   RF  R   R!  t   decl(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   arg_decl_code
  s    				s   , t   declss   static %s(%s); /* proto */s   #endifs   static %s(%s) {(   R;  R  R  R6   R   R  t   has_dummy_argR   RB  R!  R  RM   R  R  R   R&  R   R)  R   R  RJ   (   Rx   RP   R  R  t   arg_code_listt   self_argR=  RF  R  t   dct
   decls_codeRp  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s:    						c         C@  s   d  S(   N(    (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR"  (  s    c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR(  +  s    c         @  sg     f d   } x |  j  D] } | | j  q Wx0 |  j |  j f D] } | rC | | j  qC qC Wd  S(   Nc         @  sG   |  j  rC   j d |  j |  j f    j |     j |   n  d  S(   Ns   %s = %s;(   R#  RJ   R!  R  RJ  R  (   R   (   RP   (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  0  s    	(   RM   R   R  R  (   Rx   R;   RP   R  RF  (    (   RP   s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRH  .  s    c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRQ  ;  s    N(.   RF   Rg   R   R&   R0  t   reqd_kw_flags_cnameRE  R8  R  R  R   R  R  t   py_cfunc_nodeR1   t   requires_classobjt   defaults_structR,   t   fused_py_funcR6  R  R6   R;  R  R:  Rz   R  R  R   R  R  R  R  R  R  R1  Rj   R  R=  R>  R   R  R"  R(  RH  RQ  (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRD  N
  sR   	@		.	4	M									+			R  c           B@  s   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   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         O@  s\   t  j |  | |  |  j j |  _ |  j j |  _ |  j j |  _ |  j j |  _ d  |  _ d  S(   N(	   R  Rz   Ra  R  R  R  R  R&   R  (   Rx   RM   Rl   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRz   E  s    c         C@  s_   |  j  j } |  j } | j | j  } t j | | | _ t j | | | _	 | j
 |  _
 d  S(   N(   Ra  R   R?   R&  R'  R   t   pywrap_prefixR  t   pymethdef_prefixt   pymethdef_cnameR  (   Rx   R;   t   target_entryR?   R/  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   M  s    	c         C@  s   xc |  j  D]X } | j j s4 | j j |  sb qb q
 | j r
 | j j r
 | j j |  sb qb q
 q
 W|  j r |  j j j r |  j j } d | _	 x9 | j
 D]+ } | j r | j j r t | j _ q q Wn  d  S(   Ni   (   RM   R.   R8   t   create_from_py_utility_codeR  R  R  R   R  RL  RI  R0   R}  R   R6   t   cf_maybe_null(   Rx   R;   RF  R   t   ass(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR4  V  s    
	c         C@  sO   t  |  j  } | d k sG | d k rK |  j d j sG |  j d j rK d Sd S(   Ni    i   (   R   RM   R  Rd  (   Rx   t   argcount(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   signature_has_nongeneric_argsl  s    c         C@  s
   |  j  j S(   N(   R  R  (   Rx   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   signature_has_generic_argst  s    c         C@  s6  g  } |  j  j r% | j t j  n  xt |  j D]i } | j r | j j p_ | j j	 p_ | j j
 r | j | j j | j j   q/ | j | j j  q/ W|  j r | j |  j j j  n  |  j r | j |  j j j  n  d j |  } |  j j s| j d t j  n  | j d |  j j j | f  d  S(   Ns   , s   %s = s   %s(%s);(   R  R?  R  R   RB  RM   R  R.   R  R  Rv  RY  R   R!  R  R  R   R&  R   R  R&  RJ   Ra  R)  (   Rx   RP   RM   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  w  s$    "			c         C@  s  |  j  j } | j |  j  | j d  | j d  |  j  j   } | r[ | j |  n  | j |  | j   | _ |  j  j	 | |  p |  j  j
 } |  j | |  |  j | |  | j   } |  j j r d } n d } |  j j s| j d |  j j t j  | f  n  | j   | j d |  j  |  j | |  |  j |  |  j |  | j | j  | j |  j  | j d  | j d  | j | j k r0| j | j  | j  | j  x- | j j!   D] \ } }	 | j" | |	  qW|  j#   }
 |
 d  k	 r0| j d t j |
 f  q0n  | j  | j  x6 | j% D]+ } | j& rJ| j' j rJ| j( |  qJqJW| j)   |  j j s| j d t j  n  | j d	  | j*   | r| j d
 |  n  d  S(   NR   s   /* Python wrapper */s    = 0s   %s%s;s   %s (wrapper)s   /* function exit code */s   %s = %s;s
   return %s;R  s   #endif /*!(%s)*/(+   Ra  R  R   R#   RJ   R  R  R  R  R  R  R  R"  R'  R&  R8   R   R   R   R&  R3  R4  R?   RH  RQ  R  Rj  R  RT  RU  RV  RW  RX  RY  RZ  R=  R&   R  R0   R.   Rd  R;  Rk  (   Rx   R;   RP   R  Rp  R  Rs  t   retval_initR!  R.   R{  R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     sb    		
 

i    c         C@  s  g  } |  j  } | j s! |  j rT d t j } | j sD d | } n  | j |  n  xb |  j D]W } | j s^ | j s | j	 r | j d | j
  q | j | j j | j
   q^ q^ W|  j j } | j r | j   t j g k r | j d  n  | j j r"| j d k r"| j d  n  | j rK| j d t j t j f  n  d j |  } d }	 | j d k r| j j rd }	 t } n  |  j j | j  }
 d
 |	 |
 | f } | j d |  | r|  j j r|  j j j | | d t  n  d  St! j" r| j# r|  j j r| j j$ r| j s7| j% r| j# } | j& rX| j'   } n  | j d | j( | j)   f  | j r| j d  | j d | j%  | j d  qn  | s|  j j r| j* d | j+  | j, |  j j d d t n  | j d |  d  S(   Ns   PyObject *%ss   CYTHON_UNUSED s   CYTHON_UNUSED PyObject *unusedt   __ipow__s   PyObject *%s, PyObject *%ss   , R   R  R  s   static %s%s(%s)s   %s; /*proto*/R  s   static char %s[] = %s;s   #if CYTHON_COMPILING_IN_CPYTHONs   struct wrapperbase %s;s   #endifs   static PyMethodDef %s = R  t
   allow_skips   %s {(   s   __getbuffer__s   __releasebuffer__(-   R  R?  R  R   RB  R  RM   Re  R  Rd  R  R  R   Ra  R   Rh  t   method_flagsR   t   method_noargsR9  R  R?   R  t
   args_cnamet
   kwds_cnameR   R1   R&  R  RJ   RH  R  R6   R   R  R,   t   is_property_scopeR-  t
   is_unicodet   as_utf8_stringR+  t   as_c_string_literalR  RK  t   put_pymethoddef(   Rx   RP   R  R  R@  R  R  RF  R   t   mfRB  R  t   docstr(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    sr    			"					c         C@  s   xM |  j  D]B } | j r
 | j r9 | j d | j  qL | j | j  q
 q
 Wx* | j D] } | j rZ | j |  qZ qZ Wd  S(   Ns   PyObject *%s = 0;(	   RM   Re  R   RJ   R  R$  R   R  R0   (   Rx   R;   RP   RF  R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR"    s    			c   	      C@  s  | j    } | j } | j d  } |  j d k } |  j d  k	 pT |  j d  k	 pT | } x5 |  j D]* } | j j	 sa | j j
 |  s q qa qa W|  j   s | r t |  j d  n  |  j |  n2 |  j   s |  j |  n |  j |  j | |  | | _ | j |  r| j |  s-| j |  n  | j |  | r|  j |  j |  |  j r|  j j j r| j |  j j  q| j |  j j  qn  | j |  j j j  | j   | j d |  j    n  | j |  r| j |  n  d  S(   Nt   argument_unpacking_donei    s.   This method cannot have * or keyword argumentss
   return %s;(    t   new_error_labelRT  R  R  R  R&   R  RM   R.   R8   RM  RR  R   R#   R  RQ  t   generate_stararg_copy_codet'   generate_tuple_and_keyword_parsing_codet
   label_usedRV  RX  t   generate_arg_decrefR   RL  t   put_var_xdecref_cleart   put_var_decref_clearR^  Ra  R?  R;  RJ   R=  (	   Rx   R;   RP   t   old_error_labelt   our_error_labelt	   end_labelt   has_kwonly_argst   has_star_or_kw_argsRF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRH  #  sB    	
		
c         C@  s   | r | j  | j  n  d  S(   N(   Rg  R   (   Rx   RF  RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   generate_arg_xdecrefQ  s    c         C@  s   | r | j  | j  n  d  S(   N(   Rh  R   (   Rx   RF  RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRf  U  s    c         C@  s  |  j  so | j j t j d d   | j d t j  | j d |  j	 t j |  j
   f  | j d  n  |  j r |  j  s |  j j j r d t j } q d t j } n d t j t j f } | j j t j d	 d   | j d
 | t j |  j	 t |  j  |  j
   f  |  j rn|  j j j rnt d   |  j j j D  r| j d |  | j d |  j j j t j |  j j j |  j
   f  | j |  j j j  | j d  | j d |  j j j f  | j d  d |  j j _ qn| j d |  j j j t j t j f  | j d |  j j j |  j
   f  d |  j j _ | j |  j j j  n  |  j rL|  j j rL| j d |  j  j j t j |  j  j j f  |  j r|  j j j r| j d  | j |  j j j t  | j d |  j
    | j d  n | j d |  j
    | j |  j  j j  | j t j t  | j t j  | j d |  j  j j t j f  | j j t j  d t! } | j d | | t j | f  | j d t j | f  | j d t  | j d  | j d |  j  j j | f  | j d  | j j" |  d |  j  j _ nQ |  j  r| j t j t  | j d |  j  j j t j f  d |  j  j _ n  d  S(   Nt   RaiseArgTupleInvalids   FunctionArguments.cs)   if (unlikely(PyTuple_GET_SIZE(%s) > 0)) {sK   __Pyx_RaiseArgtupleInvalid("%s", 1, 0, 0, PyTuple_GET_SIZE(%s)); return %s;R  s   unlikely(%s)s   %ss-   unlikely(%s) && unlikely(PyDict_Size(%s) > 0)t   KeywordStringChecksH   if (%s && unlikely(!__Pyx_CheckKeywordStrings(%s, "%s", %d))) return %s;c         s@  s   |  ] } | j  j Vq d  S(   N(   RO   t
   allow_null(   R  t   ref(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pys	   <genexpr>s  s    s	   if (%s) {s3   %s = PyDict_Copy(%s); if (unlikely(!%s)) return %s;s   } else {s
   %s = NULL;i   s,   %s = (%s) ? PyDict_Copy(%s) : PyDict_New(); s   if (unlikely(!%s)) return %s;i    s=   %s = PyTuple_New(PyTuple_GET_SIZE(%s)+1); if (unlikely(!%s)) R  s
   return %s;s   PyTuple_SET_ITEM(%s, 0, %s);R  s-   for (%s=0; %s < PyTuple_GET_SIZE(%s); %s++) {s*   PyObject* item = PyTuple_GET_ITEM(%s, %s);R   s!   PyTuple_SET_ITEM(%s, %s+1, item);s   %s = %s;(#   R  R   R  R   R  RJ   R   RX  R  R?   R=  R  R   R  RY  t   boolR  t   cf_referencesR!  R  RL  R  Ra  R  t   put_xdecref_clearR	   RC  RB  R^  R  R  R   t   c_py_ssize_t_typeR1   R  (   Rx   RP   t   kwarg_checkR  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRc  Y  s    																c      	   C@  s  | j  d  } g  } g  } g  } x | D] } | j r( | j r | j r | j r | j rm | j |  q} | j |  q q | j r | j |  q | j r | j r | j |  q q( q( W| | }	 |  j |  j }
 t	 |  d k r| d j s
| d j r|
 d 8}
 n  t	 |  } |  j
 o6|
 | k } t |	  } |  j rm| j j t j d d   n  |  j s|  j
 r|  j | |  n  | j d  t |  t |	  } | j d t j d j g  | D] } d	 | j | j  ^ q f  |  j | |  | j d
 |  j d k r)d p,d t j f  |  j |
 | | | | | |  |  j rn|
 d k sz|
 | k r|
 | k r|  j
 rd } n d } | j d t j | |
 f  | j |  n  |  j r| |
 k r|  j
 r| j d t j | f  | j |  n  | j d  xt |	  D]^ \ } } | j s/| j | j  } | j d |  j | f  | j | j  |  j!   Pq/q/Wn| j d  |
 | k rxt |  D]) \ } } | j d | t j | f  qWnL| j d t j  |  j
 r| j d  n  t" t |   d  d  d  } xY | D]Q \ } } | |
 d k rq| j d | d  n  | j d | t j | f  q=W|
 d k r| j d  n  | j d  |  j
 r|
 r)x/ t# |
 d d d  D] } | j d |  qW| j |  q)n | j d  | j |  | j d  | j d  x1 t |  D]# \ } } |  j$ | d | |  qPW| j d  | j% |  r| j |  | j& |  | j j t j d d   | j d |  j | |
 | t j f  | j | j  |  j!   n  d  S(    Nt   argtuple_errori    i   t   RaiseKeywordRequireds   FunctionArguments.cR  s    static PyObject **%s[] = {%s,0};t   ,s   &%ss   if (%s(%s)) {t   likelyR`  s   !=t   <s(   } else if (PyTuple_GET_SIZE(%s) %s %d) {s'   } else if (PyTuple_GET_SIZE(%s) > %d) {s   } else {s&   __Pyx_RaiseKeywordRequired("%s", %s); s&   values[%d] = PyTuple_GET_ITEM(%s, %d);s   switch (PyTuple_GET_SIZE(%s)) {s   default:is
   case %2d: s	   case  0: s   break;s	   case %2d:s	   default: R  s
   values[%d]Ro  sD   __Pyx_RaiseArgtupleInvalid("%s", %d, %d, %d, PyTuple_GET_SIZE(%s)); ('   R  Re  R   R  Rd  Rf  R  R  R  R   R  Rs  R   R  R   R  R  t   generate_stararg_init_codeRJ   R  R   t   pykwdlist_cnameR   t   intern_identifierR?   t#   generate_argument_values_setup_codeRY  t   generate_keyword_unpacking_codeRX  RV  R  R  R  R#   R   R  t   generate_arg_assignmentRe  RX  (   Rx   RM   t   success_labelRP   t   argtuple_error_labelR  t   required_kw_only_argst   optional_kw_only_argsRF  t   kw_only_argst   min_positional_argst   max_positional_argst   has_fixed_positional_countt   has_kw_only_argst   all_argst   compareR.  t   pystring_cnamet   reversed_args(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRd    s    				
,
				.
	!						$	!				c         C@  s  | j  j rY | j r3 t j | j  t j |  } n  | j } | j d | j | f  n/| j  j	 } | rq| j
 r | j d |  n  d | | f } | j  j r | j  j |  } n  | j d | j j | | j | j  j | j j  | j  f  | j
 r| j d  | j d | j j | j |  f  | j  j r^| j | j j d t n  | j d  qn t | j d | j   d  S(	   Ns   %s = %s;s	   if (%s) {s   %s(%s)s   %s = %s; %ss   } else {R	  R  s2   Cannot convert Python object argument to type '%s'(   R.   R8   Re  R   t   typecastR	   R   RJ   R!  t   from_py_functionR   t   is_enumRY  t   error_goto_ifRa  R#   R[  R  RK  R6   R   (   Rx   RF  R   RP   R   RV   t   rhs(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  @  s4    					,			
c         C@  s  |  j  rc d |  j  j _ | j d |  j  j j |  j  j j |  j   f  | j |  j  j j  n  |  j rd |  j j _ | j d t j	 | f  | j d |  j j j t j	 | t j	 f  | j d |  j j j  |  j  r | j
 |  j  j j t  n  | j   | j d |  j    | j d  | j |  j j j  | j d  | j d	 |  j j j t j f  | j t j t  | j d  n  d  S(
   Ni    s0   %s = PyDict_New(); if (unlikely(!%s)) return %s;s    if (PyTuple_GET_SIZE(%s) > %d) {s4   %s = PyTuple_GetSlice(%s, %d, PyTuple_GET_SIZE(%s));s   if (unlikely(!%s)) {s
   return %s;R  s   } else {s	   %s = %s; (   R  R   RL  RJ   R!  R=  R  R  R   RX  R  R	   R;  R  R9  RC  (   Rx   R  RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR}  `  s4    						
#c         C@  s   t  |  } | j d | d j d |  f  |  j j rn | j d |  j j t j |  j j t j f  n  xd t |  D]V \ } } | j	 r{ | j
 j r{ | j |  } | j d | | j
 j |  f  q{ q{ Wd  S(   Ns   PyObject* values[%d] = {%s};Rz  R  s+   %s *%s = __Pyx_CyFunction_Defaults(%s, %s);s   values[%d] = %s;(   R   RJ   R   Ra  RG  R   t   dynamic_args_cnameRB  R  R   R.   R8   R[  Rg  (   Rx   RM   RP   t   max_argsR.  RF  RW  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  |  s    		c      	   C@  s{  | j  d  | j  d t j  | j  d  |  j rG | j  d  n  xP t | d d d  D]8 } | j d | d  | j  d | t j | f  q^ W| j  d	  |  j s | j d
  | j |  n  | j  d  | j  d t j  |  j s| d k rd }	 x, t	 |  D] \ } }
 |
 j
 s| }	 qqW|	 | k  rQ| d }	 n  | d k rm| j  d  n  xt	 | |	 d   D]\ } }
 | d k r| | k r|  j r| | k r| j  d  q| j  d |  n  | j |
 j  } |
 j
 rQ|
 j r	qn  | j  d  | j  d t j | f  | j  d |  | j  d  q| j  d | t j | f  | | k  r| d k r| j d  | j |  qq| j  d  | j j t j d d   | j d |  j | | | | f  | j  | j |  j   | j  d  q|
 j r| j  d  | j d |  j | f  | j  | j |  j   | j  d  qqW| d k r| j  d  qn  | r|  j | |  n  | j  d  | d k rd } n/ |  j r| j  d | | f  d } n d } | j j t j d d   | j  d t j t j |  j rG|  j j j pJd | |  j | j |  j  f  | j  d  d  S(    Ns   Py_ssize_t kw_args;s1   const Py_ssize_t pos_args = PyTuple_GET_SIZE(%s);s   switch (pos_args) {s   default:i   is
   case %2d: s&   values[%d] = PyTuple_GET_ITEM(%s, %d);s   case  0: break;s	   default: R  s   kw_args = PyDict_Size(%s);i    s	   case %2d:s   if (kw_args > 0) {s)   PyObject* value = PyDict_GetItem(%s, %s);s-   if (value) { values[%d] = value; kw_args--; }sB   if (likely((values[%d] = PyDict_GetItem(%s, %s)) != 0)) kw_args--;s   else s   else {Ro  s   FunctionArguments.cs2   __Pyx_RaiseArgtupleInvalid("%s", %d, %d, %d, %d); s&   __Pyx_RaiseKeywordRequired("%s", %s); s   if (unlikely(kw_args > 0)) {R  sA   const Py_ssize_t used_pos_args = (pos_args < %d) ? pos_args : %d;t   used_pos_argst   pos_argst   ParseKeywordssO   if (unlikely(__Pyx_ParseOptionalKeywords(%s, %s, %s, values, %s, "%s") < 0)) %s(   RJ   R   RX  R  R  R  RV  RY  R  R  R   R  R?   Rf  R   R  R   R  R  R#   t,   generate_optional_kwonly_args_unpacking_codeR~  R  R   R!  (   Rx   R  R  R  R  R  R  RP   R.  t   last_required_argRF  R  t   pos_arg_count(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    				!															c         C@  sV  g  } d } xS t  |  D]E \ } } | j s | j r? q n  | sN | } n  | j | j  q W| rRt |  d k r | j d |  j r d p d t |  f  | j d  | j d | | t |  f  n | j d  | j d	 |  | j d
 t j	 t j
 f  | j d  t |  d k rB| j d  n  | j d  n  d  S(   Nii   s'   if (kw_args > 0 && %s(kw_args <= %d)) {R{  R   s   Py_ssize_t index;s6   for (index = %d; index < %d && kw_args > 0; index++) {s   if (kw_args == 1) {s   const Py_ssize_t index = %d;s1   PyObject* value = PyDict_GetItem(%s, *%s[index]);s0   if (value) { values[index] = value; kw_args--; }R  (   R  Rf  R   R  R?   R   RJ   R  R   RY  R~  (   Rx   R  RP   t   optional_argst   first_optional_argR.  RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s0    				c         C@  s4   x- |  j  D]" } | j r
 |  j | |  q
 q
 Wd  S(   N(   RM   R   t   generate_arg_conversion(   Rx   RP   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  "  s    	c         C@  s   | j  } | j } | j ro | j r; | j d | j  n | j d | j  |  j | |  | j d  nh | j r |  j | |  nL | j |  r | j d | j	 j
 | j f  n t | j d | | f  d  S(   Ns	   if (%s) {s   assert(%s); {R  s   %s = %s;s+   Cannot convert 1 argument from '%s' to '%s'(   R  R.   R8   R   RJ   R  t%   generate_arg_conversion_from_pyobjectt#   generate_arg_conversion_to_pyobjectR(  R   R!  R   R#   (   Rx   RF  RP   t   old_typet   new_type(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  *  s    					#c         C@  s   | j  } | j } | r | j j } d | | j f } | j r[ t j | t j |  } n  | j	 d | | | j
 | j | j j  | j  f  n t | j d |  d  S(   Ns   %s(%s)s   %s = %s; %ss2   Cannot convert Python object argument to type '%s'(   R.   R  R   R!  R  R  R   R  t   c_long_typeRJ   R  Ra  R#   R   (   Rx   RF  RP   R  RV   R}  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  =  s    				,c         C@  s~   | j  } | j } | rf | j d | j j | | j | j | j j | j  f  | j | j  n t	 | j d |  d  S(   Ns   %s = %s(%s); %ss5   Cannot convert argument of type '%s' to Python object(
   R  t   to_py_functionRJ   R   R!  R  R  R#   t   put_var_gotrefR   (   Rx   RF  RP   R  RV   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  M  s    				 c         C@  su   xn |  j  D]c } | j r, |  j | |  q
 | j r
 | j j sZ | j j sZ | j j r
 |  j | |  q
 q
 Wd  S(   N(	   RM   R  R  R  R.   R8   R   R  R  (   Rx   RP   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRQ  Z  s    	c         C@  s
   |  j  j S(   N(   R  R=  (   Rx   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR=  f  s    N(   RF   Rg   R&   t   defnodeRa  Rz   R   R4  RQ  RR  R  R   R  R"  RH  Rn  Rf  Rc  Rd  R  R}  R  R  R  R  R  R  R  RQ  R=  (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  ?  s6   								AK		.			U		 			t						t   GeneratorDefNodec           B@  sN   e  Z e Z e Z e Z e j d  g Z d   Z	 d   Z
 d   Z d   Z RS(   t   gbodyc         K@  s9   t  | d g  d t | d <t t |   j | |  d  S(   NR   R   R   (   R   R6   R`   R  Rz   (   Rx   R#   Rl   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRz   v  s    c         C@  s9   t  t |   j |  |  j |  j _ |  j j |  d  S(   N(   R`   R  R   R  R  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   {  s    c         C@  s  |  j  j j } | j |  j  } | j |  j  } | j |  j  } | j d  | j d |  j rj d n d | t	 j
 | | | | j d |  j  f  | j t	 j
 t  |  j r d } | j d | t	 j f  | j | t  | j |  n  | j   | j d  | j d	  d  S(
   NR  sg   __pyx_CoroutineObject *gen = __Pyx_%s_New((__pyx_coroutine_body_t) %s, (PyObject *) %s, %s, %s, %s); %st	   Coroutinet	   Generatort   gens   gen->classobjs&   %s = __Pyx_CyFunction_GetClassObj(%s);s   return (PyObject *) gen;R  (   R  R   R  R  R?   t   qualnamet   module_nameRJ   t   is_coroutineR   R  R  R#   Re  R	   RF  RB  RC  R^  R;  (   Rx   R;   RP   t
   body_cnameR?   R  R  t   classobj_cname(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s&    			
c         C@  sn   | j  t j |  j r d n d d   |  j j | d t t t |   j	 | |  |  j j	 | |  d  S(   NR  R  s   Coroutine.ct   proto(
   R  R   R  R  R  R  R6   R`   R  R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s
    (   RF   Rg   R6   R  R1   R  R  RD  R   Rz   R   R  R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  j  s   			t   AsyncDefNodec           B@  s   e  Z e Z RS(    (   RF   Rg   R6   R  (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   t   GeneratorBodyDefNodec           B@  sS   e  Z e Z e Z d Z d d d d   Z d   Z	 d   Z
 e d  Z d   Z RS(   c         C@  sA   t  t |   j d | d | d | d d  d g  d d  d d   d  S(   NR#   R   R?   R,   RM   R  R  (   R`   R  Rz   R&   (   Rx   R#   R?   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRz     s    c         C@  s~   | j  | j  } | j  d  } t j | | } | j d  t |  j d | d d } | | _ t	 |  j
  | _ | |  _ d  S(   Nt	   generatorR!  R  R  (   R&  R'  R   t   genbody_prefixR<  R&   R	   R#   R  R   R?   R?  R   (   Rx   R;   R/  R?   R!  R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   declare_generator_body  s    	c         C@  s   |  j  |  |  j |  d  S(   N(   R  R  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  sN   d |  j  j t j t j f } | r9 | j d |  n | j d |  d  S(   Ns<   static PyObject *%s(__pyx_CoroutineObject *%s, PyObject *%s)s   %s; /* proto */s   %s /* generator body */
{(   R   R  R   t   generator_cnamet   sent_value_cnameRJ   (   Rx   RP   R  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    	c         C@  s  |  j  } |  j j | |  | j |  | j   | _ | j |  j  |  j | |  | j	 d  |  j
 |  | j   } | j	 d t j  | j   } | j   | j |  j j  | j j | j j j  | j   } | j d  } | j |  | j |  | j	 d | j t j |  j   |  j r|  j d  k	 r|  j } | t j k red }	 n@ | t j  k r}d }	 n( | t j! k rd }	 n t" d |   | j	 d	 t j |	 | j t j |  j  f  | j# t j  n  |  j$ | |  | j j j j% rh| j	 d
 | j j j& t j'  | j j j( d t j)  f  | j	 d t j' t j' f  n  | j |  j  | j	 d  | j	 d  |  j r|  j j* r| j	 d  n  | j+ | j, k r|  j j* s| j- | j.  n  | j | j+  |  j r(|  j d  k	 r(| j/ t j t0  n  t1 j2 | j3   j4 j5 k ro| j6 j7 t8 j9 d d   | j	 d  n  x- | j j:   D] \ }
 } | j; |
 |  qW| j< |  j j=  n  | j | j.  |  j r| j> t j  n | j/ t j t0  | j	 d t j)  | j	 d t j)  | j?   | j	 d t j  | j	 d  | j@ | j  | j	 d t j)  | j	 d |  x. | jA D]# \ } } | j	 d | | f  qW| j	 d  | j?   | j	 d  | j	 d  | jB   d  S(   NR   s   PyObject *%s = NULL;t	   first_runs   %ss   PyList_New(0)s   PySet_New(NULL)s   PyDict_New()s)   invalid type of inlined comprehension: %ss   %s = %s; %ss   %s = %s;s   %s->closures   if (1); else %s = %s;s   /* function exit code */s#   PyErr_SetNone(PyExc_StopIteration);t   pep479s   Coroutine.csc   if (unlikely(PyErr_ExceptionMatches(PyExc_StopIteration))) __Pyx_Generator_Replace_StopIteration();s   %s->resume_label = -1;s%   __Pyx_Coroutine_clear((PyObject*)%s);s
   return %s;R  s   switch (%s->resume_label) {s   case 0: goto %s;s   case %d: goto %s;s2   default: /* CPython raises the right error here */s   return NULL;(C   R  R   R   R  R  R  R   R#   R   RJ   R  R'  R   R&  R3  R4  R   R?   R  t   init_closure_tempsR   R.   R9  t	   use_labelRX  R  R  t
   is_inlinedt   inlined_comprehension_typeR&   R   t	   list_typet   set_typet	   dict_typeR   R  R  R   R   R  RY  R  R   RT  RU  RV  RW  Ru  R	   R   t   generator_stopR   R  t   future_directivesR   R  R   R  RY  RZ  R^  R?  Rf  R;  Rj  t   yield_labelsRk  (   Rx   R;   RP   R  t   closure_init_codeRs  t   resume_codet   first_run_labelt   target_typet	   comp_initR!  R.   R.  t   label(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	
										
	
N(   RF   Rg   R6   R  R1   R  R&   R  Rz   R  R   R  R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   	
	
R  c           B@  s)   e  Z d  g Z d Z d   Z d   Z RS(   R   c         C@  s'  | j  |  _ |  j j r! d } n d } d d l m } | j |  j t  |  _	 | j
 |  j d |  j	 d g  |  j | D]! } | j |  j d | j ^ qu } | j j s | j j r t |  j d t |  j d | t |  j d	 d  g |  _ n t |  j d	 | |  _ |  j j |  |  _ |  S(
   Ni    i   (   R   R  RM   R?   R   t   exprR5   (   R*  RM   R  R  R   R   t   RawCNameExprNodeR#   R	   t	   func_nodeR  R  R?   R&  R   t   is_returncodeR   t   ExprStatNodeR  R&   R   Rj   (   Rx   R;   t	   first_argR   RF  t	   call_node(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   J  s"    	5!c         C@  s  | j  |  j j j  } |  j j r4 d t j } n d |  j d j } | j	 d  | j	 d t j
  | j	 d  |  j j r | j	 d  n | j	 d |  | j j t d t } |  j j |  | j j t j d	 d
   | j | |  j  } | j	 d | | | | f  | j |  d | } d | |  j j j f } | j	 d | | f  |  j j |  | j	 d  | j | t j  | j j |  | j	 d  d  S(   Ns   ((PyObject *)%s)i    s    /* Check if called by wrapper */s   if (unlikely(%s)) ;s#   /* Check if overridden in Python */s   else {s5   else if (unlikely(Py_TYPE(%s)->tp_dictoffset != 0)) {R  t   PyObjectGetAttrStrs   ObjectHandling.cs*   %s = __Pyx_PyObject_GetAttrStr(%s, %s); %ss   PyCFunction_Check(%s)s1   (PyCFunction_GET_FUNCTION(%s) != (PyCFunction)%s)s   if (!%s || %s) {R  (   R  R  R   R?   R  R   t   module_cnameRM   R!  RJ   R  R  R  R	   R6   R  t	   set_cnameR   R  R   R  R  R#   R  R  R   R   R  R   R  (   Rx   RP   t   interned_attr_cnameRA  t   func_node_tempt   errt   is_builtin_function_or_methodt   is_overridden(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   _  s6    		
N(   RF   Rg   R   R&   R   Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  <  s   
		t   ClassDefNodec           B@  s   e  Z RS(    (   RF   Rg   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   t   PyClassDefNodec        	   B@  s   e  Z d  d d d d d d d d g	 Z d Z d Z e Z d Z d Z	 d d e d	  Z
 d
   Z d   Z d   Z d   Z d   Z d   Z RS(   R   R^   t	   metaclasst   mkwRc   t   class_resultRa  t
   class_cellR  c	         C@  s  t  j |  |  | |  _ | |  _ | |  _ | |  _ | |  _ d d l m }	 |  j r t	 j
 r t |  j |  j  } |	 j | d | }
 n d  }
 | } | ryt } t |  _ | j rd| j rLx} t t | j   d  d  d  D]Y \ } } | j j d k r |  j d  k	 r#t | j d  n  | j |  _ | j | =q q W| |  _ qv|  j d  k	 svt  qy|	 j |  |  _ n  | s|  j s|  j s|  j r|  j d  k r| r| j r|  j } n d  } | r|  j j r|  j j rn! |	 j | d | d |  j |  _ t } n t } |	 j  | d	 | d
 |
 d |  j d |  j d |  j |  _! |	 j" | d	 | d |  j d |  j! d
 |
 d |  j d |  j d | d | |  _# nE |	 j$ | d g  |  _! |	 j% | d	 | d | d |  j! d
 |
 |  _# |	 j& | d	 | |  _' |	 j( |  j  |  _) d  S(   Ni   (   R   R5   iR  s2   keyword argument 'metaclass' passed multiple timesR  Rc   R?   R,   R^   t   calculate_metaclasst   allow_py2_metaclassR3   (*   R   Rz   R?   R,   R   R  Rc   R   R   R   R  R-   R#   t
   StringNodeR&   R1   R6   t   is_py3_style_classR2   R3   R   R  R   R5   R  R   R  t   AssertionErrort	   ProxyNodet   is_sequence_constructorRM   t   PyClassMetaclassNodet   PyClassNamespaceNodeR^   t   Py3ClassNodet   classobjt   DictNodet	   ClassNodeR  Ra  t   ClassCellInjectorNodeR  (   Rx   R#   R?   Rc   R,   R   R  R  t   force_py3_semanticsR   t   doc_nodeR  R.  R   t   mkdictt   needs_metaclass_calculation(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRz     sl    								/!	!c         C@  s  |  j  r  t |  j j d  d S|  j j j } t |  d k rP d } d } n t |  d k r3| d } g  } d d l m	 } m
 } x/ t | |  r | j d | j  | j } q Wt | |  r| j d | j  | d } t |  d k rd j | d   } q0d } qPt |  j j j j d  n t |  j j j j d	  d St |  j d
 d d d d |  j d | d | d |  j d |  j d t d |  j 	S(   sO   
        Return this node as if it were declared as an extension class
        s7   Python3 style class could not be represented as C classNi    i   (   R  R  iu   .s   Invalid base classs$   C class may only have one base classR  R  R  t
   class_namet   base_class_modulet   base_class_nameR  R   R  R,   (   R  R   R  R#   Rc   RM   R   R&   R   R  R  RC   t   insertR  R  R?   R   t   CClassDefNodeR  R   R1   R,   (   Rx   Rc   R  R  R   R   R  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt	   as_cclass  sB    		

				c         C@  sK   | } x | j  s | j r' | j } q	 Wt d |  j d |  } |  _ | S(   NR?   R  (   R  R  R  R   R?   R9  (   Rx   R;   R  Rq  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   create_scope  s
    c         C@  s   |  j  } |  j rp d d l m } x? |  j d  d  d  D]' } | | j d | j d | g } q9 Wd  |  _ n  | |  _ |  j j |  |  j	 j
 |  |  j |  } | j | _ |  j	 j j | _ |  j j |  d  S(   Ni   (   R  iR  RM   (   R  R  R   R  R#   R  R&   R  R   Ra  t   analyse_target_declarationR  R   R   R!  t   class_obj_cnameR   (   Rx   R;   R  R  R  Rq  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s     					c         C@  s   |  j  r! |  j  j |  |  _  n  |  j rB |  j j |  |  _ n  |  j rc |  j j |  |  _ n  |  j j |  |  _ |  j j |  |  _ |  j } |  j j |  |  _ |  j j	 | |  j
  |  j j |  |  _ |  S(   N(   Rc   Rj   R  R  R^   R  R9  R   Ra  t   analyse_target_expressionR  R  (   Rx   R;   Rq  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   *  s    				c         C@  s-   |  j  |  j |  |  j j |  j |  d  S(   N(   R   R9  R   R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   9  s    c         C@  s  | j  |  j  | j j |   |  j } |  j rE |  j j |  n  |  j ra |  j j |  n  |  j r} |  j j |  n  |  j	 j |  |  j	 j
   | _ | _ |  j j |  |  j j |  |  j j |  |  j j | |  j j
    |  j j |  |  j j
   | _ | _ |  j j |  j |  |  j	 j |  |  j	 j |  |  j r}|  j j |  |  j j |  n  |  j r|  j j |  |  j j |  n  |  j r|  j j |  |  j j |  n  | j j   d  S(   N(   R   R#   t   pyclass_stackR  R9  Rc   RX  R  R  R^   R   t   namespace_cnameR  R  R   R   R  t   generate_injection_codet   generate_disposal_codeR  Ra  Rc  R`  t   pop(   Rx   RP   Rq  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   =  s>    								N(   RF   Rg   R   R&   R  R  R1   R  R  R  Rz   R  R  R   Rj   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   I	*				R  c           B@  s   e  Z d  g Z d Z d Z e Z e Z d Z	 d Z
 d Z e Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(	   R   c         C@  se   t  |  d  s^ d d l m } |  j rR | j |  j | g  |  j d t |  _ q^ d  |  _ n  |  j S(   Nt   _buffer_defaultsi   (   R  t   need_complete(	   RS  R   R  t   buffer_defaults_nodeR  t   buffer_defaults_posR1   R  R&   (   Rx   R;   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  ~  s    	c         C@  s   |  j  rL |  j d k rL |  j  j d  } | j | |  j  } | sR d  Sn | } | j d |  j d |  j d d d d d |  j  d	 d  d
 |  j d |  j	 d |  j d |  j
 d |  j d |  j |  d |  j  |  _ d  S(   NR  t   .R?   R#   R  i    t   implementingR  R<   t   objstruct_cnamet   typeobj_cnameR  R:  R  R  t   shadow(   R  R  t   splitRr  R#   R&   t   declare_c_classR  t   objstruct_namet   typeobj_nameR:  R  R  R
  R   (   Rx   R;   Rp  t
   home_scope(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s(    									c         @  s	    j  r&  j r& t  j d  n   j rI t  j d  j  n  d   _  j r d   _	 x/   j
 D]$ } | j  j k rn |  _	 qn qn W j	 d  k r t  j d    j   _	 d  j	 _   j  j	  q n   j r j r  j  j  j  } n   }  j d k rc| d  k sE| j d  d  k rcd   _ d   _ d  } qcn  | r| j  j  j  } | r| j st  j d  j  q| j j r| j j o| j j rt  j d  j  q| j j   st  j d  j  j f  q| j j rf| j j j rf| j j rft  j d  j  j f  q| j j r| j j d& k rt  j d | j j  q| j  _ n    j j d d  d k rt  j d d  qqn   j  d  k	 } | r5 j r5 j j r5 j j! j"    f d    d  S j r j# d k r j j$ d  }   j% |  j  } | sd  Sn   }  j# d k r j d k r j t& j' k r  j( d  d k rt  j d  j d  qn  | j) d  j d  j d | o j* d | o! j* d  j d  j d  j d  j+ d  j# d   j, d!  j- d"  j.    d#  j/   _0  j/ r j0 | j  j  _1 n  |   k	 r j# d k r  j2  j  j0  j  n   j0 j j  _ } | d  k	 r  j | _ n   j3 r=t4 j5 r=t6  j  j3  | _3 n  | r j  j7 |   j j8 d$  }	 |	 r| j9 r| j: r j j; d%  |	 _<  j j= d$ |	 j3 |	 j  n   j* rd | _9 qd | _: n    j>  j0  x  j0 j j! D] }
 |
   qWd  S('   NsT   Object struct name specification required for C class defined in 'extern from' blocks:   Decorators not allowed on cdef classes (used on type '%s')i   Rl  s   '%s' is not a type names   '%s' is not an extension types*   Base class '%s' of type '%s' is incompletes%   Base class '%s' of type '%s' is finalR  t   strt   bytessG   inheritance from PyVarObject types like '%s' is not currently supportedt   freelisti    sI   freelists cannot be used on subtypes, only the base class can manage themc           @  s    j     S(   N(   R   (    (   R;   Rx   (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   <lambda>  s    R  R  t   __builtin__i   s   cpython.s    %s already a builtin Cython typeR?   R#   R  R  R  R<   R  R	  R  R:  R  R  R
  Rv   t   __dict__getter(   s   tuples   strs   bytes(?   R   R  R   R#   R  R  R&   R<   R  t   modulet   cimported_modulesR?   R
   R  t   has_extern_classt   add_imported_moduleR  R  t   find_moduleRq  t   findR  R.   R  R  R  R   R9  R   R$  R  R   R   t   defered_declarationsR  R  R  Rr  R   t   builtin_typesR?  R  R  R  R:  R  R  R
  R   R  t   add_imported_entryR,   R   R  R-   R   R  t   definedt   implementedt   mangle_internalt   getter_cnamet   declare_propertyt   allocate_vtable_names(   Rx   R;   R  t   base_class_scopet   base_class_entryt   has_bodyRp  R  R9  t
   dict_entryt   thunk(    (   R;   Rx   s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    						!			 												c         C@  s4   |  j  r0 |  j j j } |  j  j |  |  _  n  |  S(   N(   R   R   R.   R9  Rj   (   Rx   R;   R9  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    	c         C@  s9   |  j  r5 |  j |  j |  |  j  j |  j |  n  d  S(   N(   R   R   R9  R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   !  s    	c         C@  s0   | j  |  j  |  j r, |  j j |  n  d  S(   N(   R   R#   R   R   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   &  s    	c         C@  s    |  j  r |  j  j |  n  d  S(   N(   R   R   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   -  s    	N(   RF   Rg   R   R&   R  R  R1   R:  R  R  R  R  R
  R  R  R   Rj   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  ^  s    				y			t   PropertyNodec           B@  s>   e  Z d  g Z d   Z d   Z d   Z d   Z d   Z RS(   R   c         C@  sM   | j  |  j |  j |  j  |  _ | j |  j j _ |  j j |  j j  d  S(   N(	   R#  R?   R,   R#   R   R   R9  R   R   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   <  s    !c         C@  s   |  j  j |  |  _  |  S(   N(   R   Rj   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   A  s    c         C@  s   |  j  j | |  d  S(   N(   R   R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   E  s    c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   H  s    c         C@  s   |  j  j |  d  S(   N(   R   R   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   K  s    (   RF   Rg   R   R   Rj   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR*  2  s   					t
   GlobalNodec           B@  s)   e  Z g  Z d    Z d   Z d   Z RS(   c         C@  s+   x$ |  j  D] } | j | |  j  q
 Wd  S(   N(   t   namest   declare_globalR#   (   Rx   R;   R?   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   V  s    c         C@  s   |  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   Z  s    c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   ]  s    (   RF   Rg   R   R   Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR+  O  s   		t   NonlocalNodec           B@  s)   e  Z g  Z d    Z d   Z d   Z RS(   c         C@  s+   x$ |  j  D] } | j | |  j  q
 Wd  S(   N(   R,  t   declare_nonlocalR#   (   Rx   R;   R?   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   h  s    c         C@  s   |  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   l  s    c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   o  s    (   RF   Rg   R   R   Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR.  a  s   		R  c           B@  sM   e  Z d  g Z d   Z d   Z d   Z d Z d   Z d   Z d   Z	 RS(   R  c   	      C@  s   d d l  m } t |  j | j  r |  j j j   } | d k r |  j j   \ } } t |  rz t	 |  j j
 d  n  xd | j D]Y \ } } | j |  } | d  k r t	 | j
 d  q | j | j | | j
 d t q Wt |  _ q n  d  S(   Ni   (   R   u   declares!   Variable names must be specified.s   Unknown typeR  (   R   R   RC   R  t   GeneralCallNodeR  t   as_cython_attributet   explicit_args_kwdsR   R   R#   R3   R7   R&   R<  R5   R6   t   PassStatNodeRE   (	   Rx   R;   R   RV   RM   RN   t   varR1  R.   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   z  s    #c         C@  s%   t  |  j _ |  j j |  |  _ |  S(   N(   R1   R  t   result_is_usedRj   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    c         C@  s,   |  j  j j r( |  j  j r( |  j   n  d  S(   N(   R  R.   R8   t   is_tempR}   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    s   Discarding owned Python objectc         C@  s}   | j  |  j  |  j j |  |  j j rY |  j j   rY | j d |  j j    n  |  j j |  |  j j |  d  S(   Ns   %s;(	   R   R#   R  RX  R6  R   RJ   R   R`  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s   |  j  j | |  d  S(   N(   R  R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s   |  j  j |  d  S(   N(   R  R   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    (
   RF   Rg   R   R   Rj   R   R|   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  s  s   						t   AssignmentNodec           B@  s   e  Z d    Z d   Z RS(   c         C@  sf   |  j  |  } t | t  rb t | t  rb | j j j rb | j j   rb t |  j	 d  qb n  | S(   Ns9   Storing unsafe C derivative of temporary Python reference(
   Ri   RC   R7  t   ParallelAssignmentNodeR  R.   R   t   is_ephemeralR   R#   (   Rx   R;   RO   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s
    c         C@  s.   | j  |  j  |  j |  |  j |  d  S(   N(   R   R#   t   generate_rhs_evaluation_codeRc  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    (   RF   Rg   Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR7    s   		t   SingleAssignmentNodec           B@  s   e  Z d  d g Z e Z e Z e Z d   Z d d  Z d   Z	 d   Z
 d   Z d   Z d	   Z e d
  Z d   Z d   Z RS(   R}  R  c      	   C@  sQ  d d l  m } t |  j | j  r0|  j j j   } | r0|  j j   \ } } | d k r]t |  d k r t	 | d j
 d  d  S| d  k	 r | j d   } | d k s d | k r t	 | j
 d  d  S| d } n d	 } | d
 j |  } | d  k rt	 | d
 j
 d  d  S|  j }	 | d k rt |	 | j  rX|	 j |	 j
 f g }
 nQ t |	 | j  rg  |	 j D] } | j | j
 f ^ qt}
 n t	 |	 j
 d  d  Sx3 |
 D]+ \ } } | j | | | d t d | qWt |  d k r| d |  _ qZt |  _ q*t |  _ t |	 | j  s;t	 |	 j
 d  n  | j |	 j | |  j
 d d	 q-| d k rt |  _ t |  d
 k s| d  k rt	 |  j j
 d  d  Sg  } xa | j D]V \ } } | j |  } | d  k rt	 | j
 d  q| j | j | | j
 f  qWt |  t | j  k  r0d  St |  j | j  s[t	 |  j j
 d  n  |  j j } t |  } | j | | | t |  j j
  x | D]" \ } } } | j | | |  qWq-| d k r-t |  _ | rt	 |  j j j
 d  n  t |  j j
 d |  j j d | } | j |  q-q0n  |  j r=d  S|  j j |  d  S(   Ni   (   R   R  t   typedefi   s   Invalid positional argument.R  s   Invalid keyword argument.R  i    s   Unknown types   Invalid declarationR  s   Invalid declaration.R8  t   unions.   Struct or union members must be given by name.t
   fused_types*   fused_type does not take keyword argumentsR?   R\   (   s   declares   typedef(   s   structs   union(    R   R   RC   R  t   CallNodeR  R1  R2  R   R   R#   R&   t   compile_time_valueR7   R}  R  R?   R   RM   R<  R6   t   declaration_onlyR  R3   R  R5   R   RA  R1   R  R   R  (   Rx   R;   R   t	   func_nameRM   RN   t   kwdictR  R.   R}  t   varsR4  R#   t   memberst   memberR1  R?   R9  t	   fusednode(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	+#	"	 	
	i    c         C@  s|  d d l  m } |  j j |  |  _ |  j |  } | r> | S|  j j |  |  _ |  j j |  |  j |  } | r| | St	 |  j | j
  r |  j j |  j  |  j j |  j  |  _ nl |  j j j r+t	 |  j | j  s+| j |  j j d |  j d d  d d  |  _ |  j j |  |  _ q+n  |  j j j r| j |  j d |  j j |  j j g  } | r|  j } t |  _ | j j |  _ | j j |  _ |  j d k r|  j d  k r| j t j d d	   qq|  j j |  j j |  } n |  j j |  j j |  } | s?| j s?| j rQ| j rQ| j j rQ| j  |  } n | j j ro| j! |  } n  | |  _ |  S(
   Ni   (   R   R   RS   t   stopt   =R  t   CppExceptionConversions   CppSupport.cpp("   R   R   R  Ri   t
   unroll_rhsR}  Rk   t   gil_assignment_checkt
   unroll_lhsRC   t   MemoryViewIndexNodet   analyse_broadcast_operationt$   analyse_as_memview_scalar_assignmentR.   R   t   SliceIndexNodeR#   R&   R   t   lookup_operator_for_typesR6   t   is_overloaded_assignmentR  R  R  R   R  R'  t   is_attributeR   R   R8   t   coerce_to_tempt   coerce_to_simple(   Rx   R;   t   use_tempR   t   unrolled_assignmentt   opR  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRi   #  sH    -*			c      	   C@  s  d d l  m } m } | } d  } } }	 }
 | j j rI | j j } n| j j sa | j j r7x6 t	 | | j
  r | j p | j r | j } } qd Wt	 | | j
  r| j } | j } | r | j t j |  } n  | j } | r| j t j |  } n} | j j rl| j j rl| j |  j d t | j j  d t	 | j j t  r]| j j n | j } n t |  j d  d  Sd  }	 |	 r|	 j t j |  }	 n  d   } y- | | d   | | d  | |	 d  } Wq4t k
 rt |  j d  d  SXq;| j j r0| j j } t	 | t  s4d  Sq;d  Sn d  S| | k ret |  j d	 | | f  d  Sg  } | j |  } | g } | r| j r| j |  } | j |  n  | r| j r| j |  } | j |  n  |	 r|	 j r| j |	  }	 | j |	  n  xgt |  D]Y} | j |  j d t |  d | d
 t j } |	 d  k	 r|	 j   r| j |	 j } | j |  j d t |  d | } q| j |  j d d d |	 d | } n  | d  k	 rH| j   r!| j   r!| j | j } | j |  j d t |  d | } qH| j |  j d d d | d | } n  | j | j  |  j d | d | j! |   qW|
 | | f S(   Ni   (   R   t	   UtilNodesR5   R  s*   C array iteration requires known end indexc         S@  s3   |  d  k r | S|  j   r# |  j St d   d  S(   Ns   Not a constant.(   R&   t   has_constant_resultR  R   (   RO   t
   none_value(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt	   get_constu  s
    i    s5   C array assignment currently requires known endpointss=   Assignment to/from slice of wrong length, expected %s, got %sR.   t   operatorR  t   operand1t   operand2R  R   R   ("   R   R   RZ  R&   R.   t	   is_ctupleR  R   R   RC   RQ  RS   RH  R   R'  R   Rv  t   IntNodeR#   R  R   t   constant_value_not_setR   R   t
   LetRefNodeR   R  R  R[  R  t   MulNodet   AddNodet	   IndexNodeRi   (   Rx   RO   t   target_sizeR;   R   RZ  R   t
   start_nodet	   stop_nodet	   step_nodet
   check_nodet
   slice_sizeR]  R_   t   refsR  t   ix_nodet
   step_valuet   index_value(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   unrollS  s    (			!	-	-'''!2c      
   C@  s   d d l  m } g  } xH t | |  D]7 \ } }	 | j t |  j d | d |	 d |  j  q& Wt d |  j d |  j |  }
 | r t	 d |  j d | |
 g  }
 n  x- | d  d  d  D] } | j
 | |
  }
 q W|
 S(	   Ni   (   RZ  R}  R  t   firstR#   R   i(   R   RZ  R  R  R;  R#   Rs  R8  Rj   R   t   LetNode(   Rx   Rn  Rl  t   lhs_listt   rhs_listR;   RZ  t   assignmentsR}  R  RO   Rr  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   unroll_assignments  s    /!!c         C@  s   d d l  m } t |  j | j  s) d  St d   |  j j D  rI d  S|  j |  j t	 |  j j  |  } | sw d  S| \ } } } |  j
 | | |  j j | |  S(   Ni   (   R   c         s@  s   |  ] } | j  Vq d  S(   N(   t
   is_starred(   R  RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pys	   <genexpr>  s    (   R   R   RC   R}  R   t   anyRM   Rr  R  R   Rx  (   Rx   R;   R   t   unrolledRl  Rn  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRK    s    $c         C@  s   |  j  j j r d  Sd d l m } t |  j | j  s< d  S|  j |  j  t	 |  j j
  |  } | sj d  S| \ } } } |  j | | | |  j j
 |  S(   Ni   (   R   (   R}  R.   Ra  R   R   RC   R  R   Rr  R   RM   Rx  (   Rx   R;   R   R{  Rl  Rn  R}  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRM    s    $c         C@  s   |  j  j |  d  S(   N(   R  RX  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR:    s    c      	   C@  sW   |  j  r= |  j j |  j | d |  j  d |  j d |  j n |  j j |  j |  d  S(   NRb  R  R  (   RS  R}  Rc  R  R  R  (   Rx   RP   Rb  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRc    s    				c         C@  s   |  j  j | |  d  S(   N(   R  R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s$   |  j  j |  |  j j |  d  S(   N(   R}  R   R  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    (   RF   Rg   R   R1   Rs  RS  RA  R   Ri   Rr  Rx  RK  RM  R:  Rc  R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR;    s   	T0	^					t   CascadedAssignmentNodec           B@  sh   e  Z d  d d d g Z d Z d Z d Z d   Z d d  Z d   Z	 e
 d  Z d	   Z d
   Z RS(   Ru  R  t   coerced_valuest   cloned_valuesc         C@  s%   x |  j  D] } | j |  q
 Wd  S(   N(   Ru  R  (   Rx   R;   R}  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    i    c         C@  s  d d l  m } m } t   } xT t |  j  D]C \ } } | j |  } |  j | <| j |  | j | j	  q/ W|  j
 j |  } t |  d k r	t t |   j r | j d | |  j
 g  }	 |	 s| j | j   |  } qq	| j | j   |  } n  | j rJ| j rJ| s8| j s8| j	 j rJ| j |  } n | j |  } | j rn| |  n | |  _
 g  |  _ i  }
 g  |  _ x |  j D] } | j	 j o| j d | |  j
 g  } |  j j |  | j	 |
 k r| j	 | j	 k r| |  j
  } | s$| j | j	 |  } n  |  j j |  | |
 | j	 <qqWg  |  _ x? |  j D]4 } |
 j | j	 |  j
  } |  j j | |   q[W|  S(   Ni   (   t	   CloneNodeR  RI  (   R   R  R  Rr   R  Ru  Rk   RL  R   R.   R  Ri   R   t   nextt   iterR   t   lookup_operatorR'  R  R   R   RT  R8   RU  RV  R6  R}  t   assignment_overloadsR  R~  R  (   Rx   R;   RW  R  R  t	   lhs_typesR.  R}  R  RY  R}  t
   overloaded(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRi     sF    			'!	c         C@  s   |  j  j |  d  S(   N(   R  RX  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR:  6  s    c         C@  s   x |  j  D] } | j |  q
 WxO t |  j |  j |  j  D]2 \ } } } | j |  | j | | d | q= Wx+ |  j  D]  } | j |  | j |  q} W|  j	 j |  |  j	 j |  d  S(   NRb  (
   R}  RX  R  Ru  R~  R  Rc  R   R`  R  (   Rx   RP   Rb  R  R}  t   overloadt	   rhs_value(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRc  9  s    +c         C@  s   |  j  j | |  d  S(   N(   R  R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   H  s    c         C@  su   x |  j  D] } | j |  q
 Wx= t |  j |  j  D]& \ } } | j |  | j |  q7 W|  j j |  d  S(   N(   R}  R   R  Ru  R~  R  (   Rx   RP   R  R}  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   K  s    "N(   RF   Rg   R   R&   R~  R}  R  R   Ri   R:  R1   Rc  R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR|    s   	1		R8  c           B@  s>   e  Z d  g Z d   Z d   Z d   Z d   Z d   Z RS(   R   c         C@  s%   x |  j  D] } | j |  q
 Wd  S(   N(   R   R   (   Rx   R;   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   d  s    c         C@  s2   g  |  j  D] } | j | d d ^ q
 |  _  |  S(   NRW  i   (   R   Ri   (   Rx   R;   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   h  s    +c         C@  sV   | j  |  j  x |  j D] } | j |  q Wx |  j D] } | j |  q; Wd  S(   N(   R   R#   R   R:  Rc  (   Rx   RP   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   s  s
    c         C@  s(   x! |  j  D] } | j | |  q
 Wd  S(   N(   R   R   (   Rx   R;   RP   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   z  s    c         C@  s%   x |  j  D] } | j |  q
 Wd  S(   N(   R   R   (   Rx   RP   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   ~  s    (   RF   Rg   R   R   Rj   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR8  T  s   					t   InPlaceAssignmentNodec           B@  sA   e  Z d  d g Z d   Z d   Z d   Z d   Z d   Z RS(   R}  R  c         C@  s   |  j  j |  d  S(   N(   R}  R  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s   |  j  j |  |  _  |  j j |  |  _ |  j j sB |  j j rc |  j  j |  j j |  |  _  n< |  j j j r |  j	 d k r |  j  j t
 j |  |  _  n  |  S(   Ns   +-(   R  Ri   R}  Rk   t   is_memview_indext   is_buffer_accessR'  R.   t	   is_stringR^  R   Rv  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRi     s    !c         C@  sw  | j  |  j  |  j |  j } } | j |  | j |  |  j } | d k r[ d } n | d k rz t |  j d  n  | j s | j	 r | j
 j r t |  j d  n  | d k r | j
 j r | j j d r t |  j d  n  | j | | |  nB | j rt |  j d	  n& | j d
 | j   | | j   f  | j |  | j |  | j |  | j |  d  S(   Ns   //t   /s   **s   No C inplace power operatorsA   In-place operators not allowed on object buffers in this release.t   %t	   cdivisions;   In-place non-c divide operators not allowed on int buffers.s4   Inplace operators not supported on memoryview slicess
   %s %s= %s;(   R  R  (   R   R#   R}  R  RX  t    generate_subexpr_evaluation_codeR^  R   R  R  R.   R8   R   R   R   t   generate_buffer_setitem_codet   is_memview_sliceRJ   R   t   generate_subexpr_disposal_codet   free_subexpr_tempsR   R`  (   Rx   RP   R}  R  t   c_op(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s,    		)	&c         C@  s$   |  j  j |  |  j j |  d  S(   N(   R}  R   R  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s2   d d l  m } | j |  j |  j |  j |  j  S(   Ni   (   R   (   R   R   t
   binop_nodeR#   R^  R}  R  (   Rx   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   create_binop_node  s    (   RF   Rg   R   R   Ri   R   R   R  (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   				t   PrintStatNodec           B@  sG   e  Z d  d g Z d   Z e j Z d Z d   Z d   Z	 d   Z
 RS(   t	   arg_tupleRH   c         C@  s   |  j  r0 |  j  j |  } | j |  |  _  n  |  j j |  } | j |  |  _ | j t  t |  j j  d k r |  j r | j t	  n  |  S(   Ni   (
   RH   Rj   t   coerce_to_pyobjectR  R  t   printing_utility_codeR   RM   t   append_newlinet   printing_one_utility_code(   Rx   R;   RH   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    	!s   Python print statementc         C@  s]  | j  |  j  |  j r; |  j j |  |  j j   } n d } t |  j j  d k r |  j r |  j j d } | j |  | j	 d | | j   | j
 |  j  f  | j |  | j |  ne |  j j |  | j	 d | |  j j   |  j | j
 |  j  f  |  j j |  |  j j |  |  j rY|  j j |  |  j j |  n  d  S(   NR  i   i    s"   if (__Pyx_PrintOne(%s, %s) < 0) %ss#   if (__Pyx_Print(%s, %s, %d) < 0) %s(   R   R#   RH   RX  t	   py_resultR   R  RM   R  RJ   R  R   R`  (   Rx   RP   t   stream_resultRF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s6    	!		c         C@  s6   |  j  r |  j  j | |  n  |  j j | |  d  S(   N(   RH   R   R  (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	c         C@  s0   |  j  r |  j  j |  n  |  j j |  d  S(   N(   RH   R   R  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	(   RF   Rg   R   Rj   Ru   R}   R   R|   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   			!	t   ExecStatNodec           B@  s;   e  Z d  g Z d   Z e j Z d Z d   Z d   Z	 RS(   RM   c         C@  s_   xH t  |  j  D]7 \ } } | j |  } | j |  } | |  j | <q W| j t j  |  S(   N(   R  RM   Rj   R  R  R   t   pyexec_utility_code(   Rx   R;   R.  RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    s   Python exec statementc         C@  s  | j  |  j  g  } x1 |  j D]& } | j |  | j | j    q  Wt | d d g d t |    } | j j	 t
 j d t } | j d | f |  x+ |  j D]  } | j |  | j |  q W| j | j | |  j   | j |  | j | t  | j j |  d  S(   NR  i   R  s   %s = __Pyx_PyExec3(%s, %s, %s);(   R   R#   RM   RX  R  R  R  R   R  R  R   R	   R6   RJ   R   R`  R  R  R  R  (   Rx   RP   RM   RF  t   temp_result(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s     $c         C@  s%   x |  j  D] } | j |  q
 Wd  S(   N(   RM   R   (   Rx   RP   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   1  s    (
   RF   Rg   R   Rj   Ru   R}   R   R|   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   				t   DelStatNodec           B@  sJ   e  Z d  g Z e Z d   Z d   Z d   Z d Z d   Z	 d   Z
 RS(   RM   c         C@  s%   x |  j  D] } | j |  q
 Wd  S(   N(   RM   R  (   Rx   R;   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   >  s    c         C@  s  xt  |  j  D] \ } } | j | d   } |  j | <| j j sZ | j r | j j r | j r | j j	 r t
 | j d  q q | j j r | j j j r |  j |  q | j j r t
 | j d  q | j r | j j t j k r q t
 | j d  q W|  S(   Ns   Deletion of global C variables   Deletion of non-heap C++ objects&   Deletion of non-Python, non-C++ object(   R  RM   R  R&   R.   R8   R   R  R   t
   is_cglobalR   R#   R   R<   R   R   t   is_subscriptR   R   t   bytearray_type(   Rx   R;   R.  RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   B  s    !c         C@  s1   x* |  j  D] } | j j r
 |  j   q
 q
 Wd  S(   N(   RM   R.   R8   R}   (   Rx   R;   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   S  s    s   Deleting Python objectc         C@  s   | j  |  j  x |  j D] } | j j sV | j j sV | j ro | j j t j	 k ro | j
 | d |  j q | j j r | j j j r | j |  | j d | j    q q Wd  S(   Nt   ignore_nonexistings
   delete %s;(   R   R#   RM   R.   R8   R  R  R   R   R  t   generate_deletion_codeR  R   R<   R   t   generate_result_codeRJ   R   (   Rx   RP   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   Z  s    c         C@  s%   x |  j  D] } | j |  q
 Wd  S(   N(   RM   R   (   Rx   RP   RF  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   g  s    (   RF   Rg   R   R1   R  R   Rj   R   R|   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  6  s   					R3  c           B@  s    e  Z g  Z d    Z d   Z RS(   c         C@  s   |  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   q  s    c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   t  s    (   RF   Rg   R   Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR3  l  s   	t   IndirectionNodec           B@  s   e  Z d  Z d   Z RS(   s   
    This adds an indirection so that the node can be shared and a subtree can
    be removed at any time by clearing self.stats.
    c         C@  s'   t  t |   j | d j d | d  S(   Ni    R   (   R`   R  Rz   R#   (   Rx   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRz   ~  s    (   RF   Rg   Rq   Rz   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  x  s   t   BreakStatNodec           B@  s&   e  Z g  Z e Z d    Z d   Z RS(   c         C@  s   |  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    c         C@  s@   | j  |  j  | j s, t |  j d  n | j | j  d  S(   Ns   break statement not inside loop(   R   R#   t   break_labelR   RV  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	(   RF   Rg   R   R6   R   Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   	t   ContinueStatNodec           B@  s&   e  Z g  Z e Z d    Z d   Z RS(   c         C@  s   |  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    c         C@  sA   | j  s t |  j d  d  S| j |  j  | j | j   d  S(   Ns"   continue statement not inside loop(   t   continue_labelR   R#   R   RV  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s
    	(   RF   Rg   R   R6   R   Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   	R  c           B@  s_   e  Z d  g Z e Z e Z e Z d   Z d   Z	 d Z
 d   Z d   Z d   Z d   Z RS(   R5   c         C@  s   | j  } | |  _  | s, t |  j d  |  S|  j r |  j j |  |  _ | j s\ | j rr t |  j j d  q |  j j | j  |  |  _ n1 | j r | j r | j r t |  j d  n  |  S(   Ns!   Return not inside a function bodys"   Return with value in void functions   Return value required(	   R&  R   R#   R5   Ri   R   R  R'  R8   (   Rx   R;   R&  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    			


c         C@  s   |  j  j r |  j   n  d  S(   N(   R&  R8   R}   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    s   Returning Python objectc         C@  s  | j  |  j  |  j s d  S|  j j rB | j t j |  j  n  |  j rq|  j j |  |  j j	 r d d l
 m } | j d t j d |  j d |  j j d |  j d | d |  j  n |  j r| j j t j d	 d
   | j d t j |  j j   f  |  j j |  n9 |  j j |  | j d t j |  j j |  j  f  |  j j |  |  j j |  nj |  j j r|  j r| j d t j  q| j t j |  j  n% |  j j r|  j | |  j j  n  x- | j j   D] \ } } | j  | |  qW| j! | j"  d  S(   Ni   (   R  t	   lhs_cnamet   lhs_typet   lhs_posR  RP   R	  t   ReturnWithStopIterations   Coroutine.cs-   %s = NULL; __Pyx_ReturnWithStopIteration(%s);s   %s = %s;s
   %s = NULL;(#   R   R#   R&  R8   RZ  R   R&  R5   RX  R  R   R  t   put_acquire_memoryviewslicet   in_nogil_contextt   in_generatorR   R  R   R  RJ   R  R   R\  R]  R_  R`  RS  R  t
   put_returnRW  R  t   temps_holding_referenceR  RV  RW  (   Rx   RP   R  R!  R.   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     sN    											c         C@  s7   |  j  r | j d  n  | j d t j | f  d  S(   Ns%   #pragma omp critical(__pyx_returning)s   %s = %s;(   t   in_parallelt   putln_openmpRJ   R   R&  (   Rx   RP   R5   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    	c         C@  s)   |  j  d  k	 r% |  j  j | |  n  d  S(   N(   R5   R&   R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s    |  j  r |  j  j |  n  d  S(   N(   R5   R   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	(   RF   Rg   R   R6   R   R1   R  R  Rj   R   R|   R   R  R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   				1		t   RaiseStatNodec           B@  sS   e  Z d  d d d g Z e Z d   Z e j Z d Z	 d   Z
 d   Z d   Z RS(	   t   exc_typet	   exc_valuet   exc_tbt   causec         C@  s  |  j  r0 |  j  j |  } | j |  |  _  n  |  j r` |  j j |  } | j |  |  _ n  |  j r |  j j |  } | j |  |  _ n  |  j r |  j j |  } | j |  |  _ n  d  |  _ |  j  r|  j r|  j r|  j  } d d l m	 } t
 | | j  rB| j p2| j d  k	 o2| j j rB| j } n  | j r| j j r| j |  _ |  j d k rd  |  _  qqn  |  S(   Ni   (   R   t   MemoryError(   R  Ri   R  R  R  R  R&   t   builtin_exc_nameR   R   RC   R  RM   R  R  R   R   t
   is_builtinR?   (   Rx   R;   R  R  R  R  t   excR   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s0    						%s   Raising exceptionc         C@  s  | j  |  j  |  j d k r@ | j d | j |  j   d  S|  j rk |  j j |  |  j j   } n d } |  j r |  j j |  |  j j   } n d } |  j	 r |  j	 j |  |  j	 j   } n d } |  j
 r |  j
 j |  |  j
 j   } n d } | j j t  | j d | | | | f  xI |  j |  j |  j	 |  j
 f D]) } | rP| j |  | j |  qPqPW| j | j |  j   d  S(   NR  s   PyErr_NoMemory(); %sR  s   __Pyx_Raise(%s, %s, %s, %s);(   R   R#   R  RJ   R  R  RX  R  R  R  R  R   R  t   raise_utility_codeR   R`  (   Rx   RP   t	   type_codet
   value_codet   tb_codet
   cause_codeR  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   0  sB    				%c         C@  s   |  j  d  k	 r% |  j  j | |  n  |  j d  k	 rJ |  j j | |  n  |  j d  k	 ro |  j j | |  n  |  j d  k	 r |  j j | |  n  d  S(   N(   R  R&   R   R  R  R  (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   X  s    c         C@  st   |  j  r |  j  j |  n  |  j r8 |  j j |  n  |  j rT |  j j |  n  |  j rp |  j j |  n  d  S(   N(   R  R   R  R  R  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   b  s    				(   RF   Rg   R   R6   R   Rj   Ru   R}   R   R|   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   			(	
t   ReraiseStatNodec           B@  s5   e  Z g  Z e Z d    Z e j Z d Z	 d   Z
 RS(   c         C@  s   |  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   r  s    s   Raising exceptionc         C@  s  | j  |  j  | j j } | r | j j t  | j | d  | j | d  | j | d  | j	 d t
 |   x | D] } | j d |  q W| j	   | j	 | j |  j   n9 | j j t j d d   | j	 d | j |  j   d  S(	   Ni    i   i   s&   __Pyx_ErrRestoreWithState(%s, %s, %s);s   %s = 0; t   ReRaiseExceptions   Exceptions.cs   __Pyx_ReraiseException(); %s(   R   R#   R  t   exc_varsR   R  R[  R^  Rf  RJ   R  R  R  R   R  (   Rx   RP   RD  t   varname(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   x  s    
	(   RF   Rg   R   R6   R   Rj   Ru   R}   R   R|   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  m  s   		t   AssertStatNodec           B@  sG   e  Z d  d g Z d   Z e j Z d Z d   Z d   Z	 d   Z
 RS(   R  R5   c         C@  s   |  j  j |  |  _  |  j r |  j j |  } | j t j k sO | j j r d d l m	 } | | j
 d | g d t } | j | d t j |  |  _ q | j |  |  _ n  |  S(   Ni   (   R   RM   t   slowt   skip_children(   R  t   analyse_boolean_expressionR5   Ri   R.   R   t
   tuple_typeR  R   R   R#   R6   R  (   Rx   R;   R5   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    	$s   Raising exceptionc         C@  s  | j  d  | j  d  | j |  j  |  j j |  | j  d |  j j    |  j r |  j j |  | j  d |  j j    |  j j |  |  j j	 |  n | j  d  | j  | j
 |  j   | j  d  |  j j |  |  j j	 |  | j  d  | j  d  d  S(   Ns!   #ifndef CYTHON_WITHOUT_ASSERTIONSs!   if (unlikely(!Py_OptimizeFlag)) {s   if (unlikely(!%s)) {s*   PyErr_SetObject(PyExc_AssertionError, %s);s$   PyErr_SetNone(PyExc_AssertionError);R  s   #endif(   RJ   R   R#   R  RX  R   R5   R  R   R`  R  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s.    	c         C@  s<   |  j  j | |  |  j d  k	 r8 |  j j | |  n  d  S(   N(   R  R   R5   R&   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s0   |  j  j |  |  j r, |  j j |  n  d  S(   N(   R  R   R5   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	(   RF   Rg   R   Rj   Ru   R}   R   R|   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   				t
   IfStatNodec           B@  sA   e  Z d  d g Z d   Z d   Z d   Z d   Z d   Z RS(   t
   if_clausest   else_clausec         C@  sA   x |  j  D] } | j |  q
 W|  j r= |  j j |  n  d  S(   N(   R  R   R  (   Rx   R;   t	   if_clause(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	c         C@  sM   g  |  j  D] } | j |  ^ q
 |  _  |  j rI |  j j |  |  _ n  |  S(   N(   R  Rj   R  (   Rx   R;   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    (	c         C@  s   | j  |  j  | j   } t |  j  } |  j sA | d 8} n  x9 t |  j  D]( \ } } | j | | d | | k qQ W|  j r | j  |  j j  | j d  |  j j |  | j d  n  | j	 |  d  S(   Ni   t   is_lasts
   /*else*/ {R  (
   R   R#   R  R   R  R  R  R   RJ   RX  (   Rx   RP   Rk  t   lastR.  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	 	c         C@  sM   x! |  j  D] } | j | |  q
 W|  j d  k	 rI |  j j | |  n  d  S(   N(   R  R   R  R&   (   Rx   R;   RP   t   clause(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  sA   x |  j  D] } | j |  q
 W|  j r= |  j j |  n  d  S(   N(   R  R   R  (   Rx   RP   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	(   RF   Rg   R   R   Rj   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   				t   IfClauseNodec           B@  sA   e  Z d  d g Z d   Z d   Z d   Z d   Z d   Z RS(   t	   conditionR   c         C@  s   |  j  j |  d  S(   N(   R   R   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR      s    c         C@  s.   |  j  j |  |  _  |  j j |  |  _ |  S(   N(   R  t   analyse_temp_boolean_expressionR   Rj   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    c         C@  s   |  j  j |  | j |  j  | j d |  j  j    |  j  j |  |  j  j |  |  j j	 |  | j |  j d t
 | p |  j j s | j |  n  | j d  d  S(   Ns	   if (%s) {R
  R  (   R  RX  R   R#   RJ   R   R   R`  R   R   R1   R   RV  (   Rx   RP   Rk  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s*   |  j  j | |  |  j j | |  d  S(   N(   R  R   R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s$   |  j  j |  |  j j |  d  S(   N(   R  R   R   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    (   RF   Rg   R   R   Rj   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   				t   SwitchCaseNodec           B@  s/   e  Z d  d g Z d   Z d   Z d   Z RS(   t
   conditionsR   c         C@  s   xE |  j  D]: } | j | j  | j |  | j d | j    q
 W|  j j |  | j |  j d t | j d  d  S(   Ns   case %s:R
  s   break;(	   R  R   R#   RX  RJ   R   R   R   R1   (   Rx   RP   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   %  s    c         C@  s;   x! |  j  D] } | j | |  q
 W|  j j | |  d  S(   N(   R  R   R   (   Rx   R;   RP   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   .  s    c         C@  s5   x |  j  D] } | j |  q
 W|  j j |  d  S(   N(   R  R   R   (   Rx   RP   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   3  s    (   RF   Rg   R   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   			t   SwitchStatNodec           B@  s2   e  Z d  d d g Z d   Z d   Z d   Z RS(   t   testt   casesR  c         C@  s   |  j  j |  | j |  j  | j d |  j  j    x |  j D] } | j |  qD W|  j d  k	 r | j d  |  j j |  | j d  n | j d  | j d  d  S(   Ns   switch (%s) {s   default:s   break;s   default: break;R  (
   R  RX  R   R#   RJ   R   R  R   R  R&   (   Rx   RP   t   case(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   B  s    c         C@  s`   |  j  j | |  x! |  j D] } | j | |  q W|  j d  k	 r\ |  j j | |  n  d  S(   N(   R  R   R  R  R&   (   Rx   R;   RP   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   S  s
    c         C@  sW   |  j  j |  x |  j D] } | j |  q W|  j d  k	 rS |  j j |  n  d  S(   N(   R  R   R  R  R&   (   Rx   RP   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   Z  s
    (   RF   Rg   R   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  9  s   		t   LoopNodec           B@  s   e  Z RS(    (   RF   Rg   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  b  s   t   WhileStatNodec           B@  sD   e  Z d  d d g Z d   Z d   Z d   Z d   Z d   Z RS(   R  R   R  c         C@  s0   |  j  j |  |  j r, |  j j |  n  d  S(   N(   R   R   R  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   o  s    	c         C@  s[   |  j  r! |  j  j |  |  _  n  |  j j |  |  _ |  j rW |  j j |  |  _ n  |  S(   N(   R  R  R   Rj   R  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   t  s    		c         C@  s  | j  |  j  | j   } | j d  |  j r |  j j |  |  j j |  | j d |  j j    |  j j |  n  |  j	 j
 |  | j | j  | j d  | j } | j |  |  j r| j  |  j j  | j d  |  j j
 |  | j d  n  | j |  d  S(   Ns   while (1) {s   if (!%s) break;R  s
   /*else*/ {(   R   R#   t   new_loop_labelsRJ   R  RX  R   R   R`  R   R   RX  R  R  t   set_loop_labelsR  (   Rx   RP   t   old_loop_labelsR  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   |  s*    			c         C@  s[   |  j  r |  j  j | |  n  |  j j | |  |  j d  k	 rW |  j j | |  n  d  S(   N(   R  R   R   R  R&   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s
    	c         C@  sL   |  j  r |  j  j |  n  |  j j |  |  j rH |  j j |  n  d  S(   N(   R  R   R   R  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s
    		(   RF   Rg   R   R   Rj   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  f  s   				t   DictIterationNextNodec        
   B@  sn   e  Z d  d d d d d d d d d	 g
 Z d Z Z d Z Z d Z Z	 d
   Z
 d   Z d   Z d   Z RS(   t   dict_objt   expected_sizet   pos_index_vart   coerced_key_vart   coerced_value_vart   coerced_tuple_vart
   key_targett   value_targett   tuple_targett   is_dict_flagc         C@  sP   t  j |  | j d | d | d | d | d | d | d | d t d	 t j 	d  S(
   NR  R  R  R  R  R  R  R6  R.   (   Ru   Rz   R#   R6   R   t   c_bint_type(   Rx   R  R  R  R  R  R  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRz     s    c         C@  s  d d l  m } |  j j |  |  _ |  j j |  |  _ |  j r[ |  j j |  |  _ n  |  j r |  j j |  |  _ | j |  j j	 t
 j  |  _ |  j j |  j j |  |  _ n  |  j r|  j j |  |  _ | j |  j j	 d t
 j |  _ |  j j |  j j |  |  _ n  |  j ru|  j j |  |  _ | j |  j j	 t
 j  |  _ |  j j |  j j |  |  _ n  |  j j |  |  _ |  S(   Ni   (   R   R.   (   R   R   R  Ri   R  R  R  Rk   t   TempNodeR#   R   R	   t   key_refR'  R.   R  R  t	   value_refR  R  t	   tuple_refR  R  (   Rx   R;   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s&    		!	!!	!c         C@  s   |  j  j | |  d  S(   N(   R  R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c   	   
   C@  s'  | j  j t j d d   |  j j |  g  } g  } x |  j |  j |  j f |  j	 |  j
 |  j f |  j |  j |  j f g D]d \ } } } | d  k r d } n3 | j | | | f  | j |  d | j   } | j |  q~ W| j j t j t  } | j d | |  j j   |  j j   |  j j   | d | d | d |  j j   f  | j d	 |  | j | j d
 | |  j   | j j |  x* | D]" \ } } } | j  | j    qWx$ | D] \ } } } | j |  qWx4 | D], \ } } } | j! | |  | j" |  qWd  S(   Nt	   dict_iters
   Optimize.cR  s   &%ss7   %s = __Pyx_dict_iter_next(%s, %s, &%s, %s, %s, %s, %s);i    i   i   s   if (unlikely(%s == 0)) break;s   %s == -1(#   R   R  R   R  R  RX  R  R  R  R  R  R  R  R  R  R&   R  t   allocateR   R  R  R   R=  R1   RJ   R  R  R  R  R  R#   R  R  Rc  t   release(	   Rx   RP   Rw  t   temp_addressesR4  R   Ra  t   addrt   result_temp(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     sB    (		 N(   RF   Rg   R   R&   R  R  R  R  R  R  Rz   Rj   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   		


			c         K@  sG   d | k r6 | d j  r& t |  |  St |  |  Sn t |  |  Sd  S(   Nt   iterator(   t   is_asynct   AsyncForStatNodet   ForInStatNodet   ForFromStatNode(   R#   Ry   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   ForStatNode  s
    t   _ForInStatNodec           B@  s_   e  Z d  d d d d g Z d Z e Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z RS(   Ra  R   R  R   R  c         C@  s   t  d   d  S(   Ns!   must be implemented by subclasses(   t   NotImplementedError(   Rx   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   _create_item_node  s    c         C@  sJ   |  j  j |  |  j j |  |  j r< |  j j |  n  |  j   d  S(   N(   Ra  R  R   R   R  R  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s
    	c         C@  s   |  j  j |  |  _  |  j j |  |  _ |  j   |  j j |  |  _ |  j r |  j j j sq |  j j j	 r |  j  j j
 |  j j  r n |  j j |  j  j |  |  _ |  j j |  |  _ |  j r |  j j |  |  _ n  |  S(   N(   Ra  Rk   R  Rj   R  R   R  R.   R   R   R(  R'  R   R  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj      s    

	c         C@  s  | j  |  j  | j   } |  j j |  | j d  |  j j |  |  j j |  j |  |  j	 j
 |  | j  |  j  | j | j  | j d  | j } | j |  |  j ro| j } | j d  | _ | j d  |  j j
 |  | j d  | j | j  r_| j |  | j  |  j  | j | j  |  j j |  | j |  n  | j |  n  | j  |  j  | j |  r| j |  n  |  j j |  |  j j |  d  S(   Ns
   for (;;) {R  t   outer_continues
   /*else*/ {(   R   R#   R  R  RX  RJ   R   Ra  Rc  R   R   RX  R  R  R  R  R  Re  RV  R   R`  (   Rx   RP   R  R  t   orig_continue_label(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   1  s<    			c         C@  sb   |  j  j | |  |  j j | |  |  j j | |  |  j d  k	 r^ |  j j | |  n  d  S(   N(   Ra  R   R  R   R  R&   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   Y  s
    c         C@  s`   |  j  j |  |  j j |  |  j j |  |  j rL |  j j |  n  |  j j |  d  S(   N(   Ra  R   R  R   R  R   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   `  s    	N(   RF   Rg   R   R&   R   R1   R  R  R   Rj   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   
				(	R  c           B@  s   e  Z e Z d    Z RS(   c         C@  s&   d d l  m } | |  j  |  _ d  S(   Ni   (   t   NextNode(   R   R  R  R   (   Rx   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  n  s    (   RF   Rg   R1   R  R  (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  i  s   R  c           B@  s    e  Z e Z d    Z d   Z RS(   c         K@  sq   d | k s t   d d l m } | j | j d | | d <| j | j d d  | d <t j |  | |  d  S(   NR   i   (   R   RF  R  (	   R  R   R   t   AIterAwaitExprNodeR#   t   AwaitIterNextExprNodeR&   R  Rz   (   Rx   R#   R  Ry   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRz   {  s
    c         C@  s,   d d l  m } | j |  j  |  j _ d  S(   Ni   (   R   (   R   R   t   AsyncNextNodeR  R   RF  (   Rx   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    (   RF   Rg   R6   R  Rz   R  (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  s  s   	R  c           B@  s   e  Z d  d d d d d g Z e Z d Z d Z e Z d Z	 d   Z
 d   Z d	   Z d
   Z i d d 6d d 6d d 6d d 6Z d   Z d   Z RS(   Ra  t   bound1t   bound2t   stepR   R  s&   For-loop using object bounds or targetc         C@  s@   x9 |  j  |  j |  j f D] } | j j r |  j   q q Wd  S(   N(   Ra  R
  R  R.   R8   R}   (   Rx   R;   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s@   |  j  j |  |  j j |  |  j r< |  j j |  n  d  S(   N(   Ra  R  R   R   R  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	c         C@  s  d d l  m } |  j j |  |  _ |  j j |  |  _ |  j j |  |  _ |  j d  k	 r t	 |  j | j
  r t |  j j d d  n  |  j j |  |  _ n  |  j j j r |  j j } n t j } |  j j j s t j | |  j j  } n  |  j j j st j | |  j j  } n  |  j d  k	 rY|  j j j rYt j | |  j j  } n  |  j j | |  |  _ |  j j | |  |  _ |  j j s|  j j |  |  _ n  |  j d  k	 r|  j j | |  |  _ |  j j s|  j j |  |  _ qn  |  j j } | j p| j s/t |  j j d  n  | j rt |  _ t	 |  j | j  rkt |  j d   n  |  j |  _ d  |  _ nE t |  _ | j |  j | |  } | |  _ | j |  j |  |  _ |  j  j! |  |  _  |  j" r|  j" j! |  |  _" n  |  S(   Ni   (   R   sd   Probable infinite loop in for-from-by statement. Consider switching the directions of the relations.i   s>   for-from loop variable must be c numeric type or Python objectsE   Buffer or memoryview slicing/indexing not allowed as for-loop target.(#   R   R   Ra  Rk   R
  Ri   R  R  R&   RC   t   UnaryMinusNodeR   R#   R.   Ru  R   R=  R8   t   widest_numeric_typeR'  R   RU  R   R1   t   is_py_targett   BufferIndexNodet   loopvar_nodet   py_loopvar_nodeR6   R  R  R  R   Rj   R  (   Rx   R;   R   t	   loop_typeR  t   c_loopvar_node(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     sV    
						c         C@  s|  | j  |  j  | j   } |  j } |  j j |  |  j j |  |  j |  j \ } } |  j	 d  k	 r |  j	 j |  |  j	 j   } d | d | f } n  d d l m } t |  j | j  r |  j j |  n  t |  j | j  r |  j j |  n  | r$| j j |  j j t  } n |  j j   } |  j j j r|  j j j r|  j d d k r|  j	 swd } n  | j d | |  j j   | | | |  j |  j j   | | | f
  n> | j d | |  j j   | | |  j |  j j   | | f  |  j r.|  j j |  |  j j |  j |  n) | rW| j d |  j j   | f  n  |  j j |  | j | j   |  j r|  j j! j" r| j# |  j j d   }	 |	 j |  | j$ |  j j! j%  }
 |  j j! j& j' r| j( j) t* j+ d	 d
   d } n2 | j( j) t* j+ d d
   d |  j j! j& j, } | j d |	 j   | |
 | j- |	 j   |  j j  f  | j. |	 j    n	 |  j }	 | j/ |  j j |	 |  j j! j&  } | | _0 | j1 |  |  j j! j" r| j2 |	 j   |	 j  |	 j3 |  qn  | j d  |  j rD|  j j |  |  j j |  j |  n  | r]| j j4 |  n  | j5 } | j6 |  |  j7 r| j d  |  j7 j |  | j d  n  | j |  |  j j8 |  |  j j9 |  |  j j8 |  |  j j9 |  t |  j | j  r|  j j3 |  n  t |  j | j  rF|  j j3 |  n  |  j	 d  k	 rx|  j	 j8 |  |  j	 j9 |  n  d  S(   Ns   %s=%si    i   (   R   t   >s-   for (%s = %s%s + %s; %s %s %s + %s; ) { %s%s;s!   for (%s = %s%s; %s %s %s; %s%s) {s   %s = %s;t   GetModuleGlobalNames   ObjectHandling.cs   __Pyx_GetModuleGlobalName(%s)t   GetNameInClasss   __Pyx_GetNameInClass(%s, %%s)s   %s = %s; %sR  s
   /*else*/ {(:   R   R#   R  t
   from_rangeR
  RX  R  t   relation_tablet	   relation1R  R&   R   R   R   RC   R  R  R  R  R  R  Ra  R.   R1   R   Rn  t	   relation2RJ   Rc  R   R   RX  R  R   t   is_pyglobalt
   PyTempNodeR  R?   R9  R  R   R  R   R  R  R  R  t   CoerceFromPyTypeNodet	   temp_codeR  Re  R  R  R  R  R  R   R`  (   Rx   RP   R  R  t   offsett   incopR  R   t   loopvar_namet   target_nodet   interned_cnamet   lookup_funct   from_py_nodeR  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	2												#					R   s   ++s   <=s   +1R|  s   --s   >=s   -1R  c         C@  s   |  j  j | |  |  j j | |  |  j j | |  |  j d  k	 r^ |  j j | |  n  |  j j | |  |  j d  k	 r |  j j | |  n  d  S(   N(   Ra  R   R
  R  R  R&   R   R  (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   O  s    c         C@  s|   |  j  j |  |  j j |  |  j j |  |  j rL |  j j |  n  |  j j |  |  j rx |  j j |  n  d  S(   N(   Ra  R   R
  R  R  R   R  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   Y  s    		N(   R   s   ++(   s   +1s   ++(   R   s   --(   s   -1s   --(   RF   Rg   R   R1   R  R&   R  R  R  R|   R   R   Rj   R   R  R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s"   			2	g
	
t   WithStatNodec           B@  sP   e  Z d  Z d d d d g Z d	 Z d	 Z d   Z d   Z d   Z	 d   Z
 RS(
   s  
    Represents a Python with statement.

    Implemented by the WithTransform as follows:

        MGR = EXPR
        EXIT = MGR.__exit__
        VALUE = MGR.__enter__()
        EXC = True
        try:
            try:
                TARGET = VALUE  # optional
                BODY
            except:
                EXC = False
                if not EXIT(*EXCINFO):
                    raise
        finally:
            if EXC:
                EXIT(None, None, None)
            MGR = EXIT = VALUE = None
    t   managert
   enter_callRa  R   c         C@  s4   |  j  j |  |  j j |  |  j j |  d  S(   N(   R(  R   R)  R   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s}   |  j  j |  |  _  |  j j |  |  _ |  j rd d d l m } | |  j j |  j j  |  _ n  |  j	 j
 |  |  _	 |  S(   Ni   (   R  (   R(  Ri   R)  Ra  R   R  R#   R.   t   target_tempR   Rj   (   Rx   R;   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    	!c         C@  s=   |  j  j | |  |  j j | |  |  j j | |  d  S(   N(   R(  R   R)  R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s9  | j  |  j  | j d  |  j j |  | j j t d t |  _	 | j
 j t j d d   | j d |  j	 |  j j   | j t |  j r d n d   | j |  j	 |  j  f  | j |  j	  | j   } | j } |  j j |  |  j rW|  j j |  |  j j |  | j d |  j j   |  j j   f  |  j j |  n |  j j |  |  j j |  |  j j |  |  j j |  | | _ |  j j  |  | j! |  r| j"   } | j# |  | j$ |  | j% |  j	 t  | j# |  | j$ |  n  | j j& |  j	  | j d	  d  S(
   Ns   /*with:*/ {R  t   PyObjectLookupSpecials   ObjectHandling.cs-   %s = __Pyx_PyObject_LookupSpecial(%s, %s); %st	   __aexit__t   __exit__s   %s = %s;R  ('   R   R#   RJ   R(  RX  R  R  R	   R1   t   exit_varR   R  R   R  R  R  R   R  R  R  Rb  RT  R)  Ra  R*  R  R\  R   R_  R   R`  R   R   Re  R  RV  RX  R  R  (   Rx   RP   Ri  t   intermediate_error_labelt   step_over_label(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     sF    		!		)	N(   RF   Rg   Rq   R   R&   R)  R*  R   Rj   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR'  d  s   		
	t   WithTargetAssignmentStatNodec           B@  sD   e  Z d  d g Z d Z d Z d   Z d   Z d   Z d   Z	 RS(   R  R}  c         C@  s   |  j  j |  d  S(   N(   R}  R  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  sJ   |  j  j |  |  _  |  j  j |  |  j j j |  j  j |  |  _ |  S(   N(   R}  Rk   RL  t	   with_nodeR*  R'  R.   R  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    !c         C@  s=   |  j  j |  |  j j |  j  |  |  j j j |  d  S(   N(   R  RX  R}  Rc  R2  R*  R  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s$   |  j  j |  |  j j |  d  S(   N(   R}  R   R  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    N(
   RF   Rg   R   R&   R2  R  R   Rj   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR1    s   
			t   TryExceptStatNodec           B@  sS   e  Z d  d d g Z d   Z d   Z e j Z d Z d   Z	 d   Z
 d   Z RS(	   R   t   except_clausesR  c         C@  sQ   |  j  j |  x |  j D] } | j |  q W|  j rM |  j j |  n  d  S(   N(   R   R   R4  R  (   Rx   R;   t   except_clause(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s
    	c         C@  s   |  j  j |  |  _  d } xb t |  j  D]Q \ } } | j |  } |  j | <| rj t | j d  n  | j s+ d } q+ q+ W| |  _ |  j r |  j j |  |  _ n  |  S(   Ni    s   default 'except:' must be lasti   (	   R   Rj   R  R4  R   R#   t   patternt   has_default_clauseR  (   Rx   R;   t   default_clause_seenR.  R5  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    			s   Try-except statementc         @  s    j  }   j }   j }   j   }   j }   j d  }   j d  }   j d  }	   j d  }
   j d  }   j d  }   j d  } g  t d  D] }   j j t	 t
  ^ q    j |  j    j d	    j   }   j d
  |
   _  |   _ |   _ |  j j      j |  j d t
   j d    j j   }   j |  } | r  j j t  | j d  | j d  | j d d j g   D] } d | ^ q  x  D] } | j |  qW   f d   } n# | j d d j    d   } |   _ |	   _  |  j j } |  j r  j |  j j    j d  |  j j      j d  | s|  j j } qn  | rZ| sx  D] }   j | t	  qW  j |  n    j |    j d  x$ | D] \ } }   j | |  qWx! |  j D] } | j   |  q$W|  j sZ  j |  qZn  x | | f | | f | | f |
 | f |	 | f g D] \ } }   j |  r| r  j |  r  j |  n    j |    j |  j d t
 | r  j d  |   n    j |  qqW  j |  r| rZ  j |  rZ  j |  n    j |  | r  j d  |   qn    j |  r  j |  n    j d  x  D] }   j j  |  qW|   _  |   _ |   _ |   _ d  S(   Nt   exception_handledt   except_errort   except_returnt
   try_returnt	   try_breakt   try_continuet   try_endi   R  s
   /*try:*/ {R
  R  R  R  s   __Pyx_ExceptionSave(%s);s   , s   &%sc          @  s<   x  D] }    j  |   q W  j d d j    d  S(   Ns   __Pyx_ExceptionReset(%s);s   , (   Rf  RJ   R   (   R?   (   RP   t   exc_save_vars(    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   restore_saved_exception6  s    	s   if (%s); else {/*mark used*/}s   ||c           S@  s   d  S(   N(    (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRA  @  s    s   /*else:*/ {(!   RW  R  R  Rb  RT  R  R  R  R  R	   R1   R   R#   RJ   R'  R   R   t   all_free_managed_tempsRe  R   R  t   reset_exception_utility_codeR   t   put_xgotrefR   R  Ru  RV  RX  R4  t   generate_handling_codeR7  R  (   Rx   RP   t   old_return_labelt   old_break_labelt   old_continue_labelRi  Rj  t   except_end_labelt   except_error_labelt   except_return_labelt   try_return_labelt   try_break_labelt   try_continue_labelt   try_end_labelR  t   save_exct   temps_to_clean_upt	   can_raiseR4  RA  t   normal_case_terminatest	   temp_namet	   temp_typeR5  t
   exit_labelt	   old_labelR!  (    (   RP   R@  s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    				+				(								
			c         C@  s`   |  j  j | |  x! |  j D] } | j | |  q W|  j d  k	 r\ |  j j | |  n  d  S(   N(   R   R   R4  R  R&   (   Rx   R;   RP   R5  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s
    c         C@  sQ   |  j  j |  x |  j D] } | j |  q W|  j rM |  j j |  n  d  S(   N(   R   R   R4  R  (   Rx   RP   t   except_node(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s
    	(   RF   Rg   R   R   Rj   Ru   R}   R   R|   R   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR3    s   				s	t   ExceptClauseNodec           B@  sY   e  Z d  d d d g Z d	 Z d	 Z e Z d   Z d   Z	 d   Z
 d   Z d   Z RS(
   R6  Ra  R   R  c         C@  s0   |  j  r |  j  j |  n  |  j j |  d  S(   N(   Ra  R  R   R   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	c         C@  s   | j  |  _ |  j r] xE t |  j  D]1 \ } } | j |  } | j |  |  j | <q% Wn  |  j r d d l m } | j	 |  j
  |  _ |  j j | |  j  |  _ n  |  j j |  |  _ |  S(   Ni   (   R   (   R?  t   function_nameR6  R  Rj   R  Ra  R   R   t   ExcValueNodeR#   R  R  R   (   Rx   R;   R.  R6  R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    		c         C@  s  | j  |  j  |  j r | j j t j d d   g  } x5 |  j D]* } | j |  | j d | j	    qE W| j
 j t j t  } | j d | d j |  f  x+ |  j D]  } | j |  | j |  q W| j d |  | j
 j |  n | j d  t |  j d t  r|  j d  k r|  j d  k r| j j t j d	 d   | j d
  | j |  | j d  d  Sg  t d  D] } | j
 j t d t ^ q} | j |  j  | j j t  d t  |  } | j d | | j! |  j  f  x | D] }	 | j" |	  qW|  j rm|  j# j$ | d  |  j# j |  |  j j% |  j# |  n  |  j d  k	 rx3 t& | |  j j'  D] \ }
 } | j$ |
  qWn  | j( | j) } } | j* d  | _( | j* d  | _) | j
 j+ } | | j
 _+ |  j j, |  | | j
 _+ |  j j- sZx | D] } | j. | t  q0W| j |  n  xy | j( | f | j) | f g D]Y \ } } | j/ |  ry| j0 |  x | D] } | j. | t  qW| j |  qyqyW| | _( | | _) x | D] } | j
 j |  qW| j d  d  S(   Nt   PyErrExceptionMatchess   Exceptions.cs    __Pyx_PyErr_ExceptionMatches(%s)s   %s = %s;s    || s	   if (%s) {s   /*except:*/ {R   t   PyErrFetchRestores   __Pyx_ErrRestore(0,0,0);R  i   R  s   &%s, &%s, &%ss"   if (__Pyx_GetException(%s) < 0) %si   t   except_breakt   except_continue(1   R   R#   R6  R   R  R   R  RX  R  R  R  R  R   R=  R1   RJ   R   R   R`  R  R   R   R6   t   excinfo_targetR&   Ra  RV  R  R	   R^  RZ  t   get_exception_utility_codeR  R  R  R  t   set_varRc  R  RM   R  R  R  R  R   R   R  Re  RX  (   Rx   RP   Rk  t	   exc_testsR6  t
   match_flagR  R  t   exc_argsR   t   tempvarRO   RG  RH  t   old_exc_varsR4  R  RW  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRE    s    	.		"		c         C@  s<   |  j  d  k	 r% |  j  j | |  n  |  j j | |  d  S(   N(   Ra  R&   R   R   (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c         C@  s]   |  j  r- x! |  j  D] } | j |  q Wn  |  j rI |  j j |  n  |  j j |  d  S(   N(   R6  R   Ra  R   (   Rx   RP   R6  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    		N(   RF   Rg   R   R&   R  R`  R1   t   is_except_asR   Rj   RE  R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRY    s   			S	t   TryFinallyStatNodec           B@  s   e  Z d  d d g Z d Z e Z d Z d Z e	 Z
 e d    Z d   Z d   Z e j Z d Z d   Z d	   Z d
   Z d   Z d   Z d   Z RS(   R   t   finally_clauset   finally_except_clausei   c         C@  s   t  |  d | d | } | S(   NR   Rj  (   Ri  (   R#   R;   R   Rj  RO   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   4  s    c         C@  sI   |  j  j |  t j |  j  |  _ |  j j |  |  j j |  d  S(   N(   R   R   R   t   deepcopyRj  Rk  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   9  s    c         C@  sh   |  j  j |  |  _  |  j j |  |  _ |  j j |  |  _ | j rd | j j rd | j |  _ n  |  S(   N(   R   Rj   Rj  Rk  R&  R   t   func_return_type(   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   ?  s    s   Try-finally statementc         @  s  | j    j  | j } | j   } | j   } | j }   j sO | | _ n  | j   } | j d  | j j	 } d | j _	   j
 j |  | | j _	 | j d  | j |  | j j   } | j    j j  | j d    j g   f d  }	   j o| j |  }
   j j }   j
 j sw| j d  |	   j |    j j sg| j |  n  | j d  n  |
 r| j d  | j d    j r| j   n  | rt g  t d	  D]! } | j j t j d
 t ^ q } | j j t j t j t j   d
 t } n
 d  } } t g  t d  D] } | j j t d
 t ^ q7 } | j  |    j! | | | | |  | j   } | j d  | j j" } | d  | j _"   j# j |  | | j _" | j d  | rQ  j$ | | | |  | r(x! | D] } | j j% |  qWn  | rA| j j% |  n  | j |  n  xb t& | j   |  D]K \ } } | j |  sqgn  | j  |    j' | |  | j |  qgWx | D] } | j j% |  qW| j d  n  | j |  | j( } xt) t& | |   D]\ } \ } } | j |  s:qn  | | k rR|
 rRqn  | j* d |  | j d  d  } | | k r  j j r  j+ r  j rt,   j t-  r| j j   j+ d
 t } | j d | t. j/ f    j+ j0 r| j d t. j/  qqn  |	   j |  | r|| j d t. j/ | f    j+ j0 rc| j d |  n  | j j% |  d  } n    j j s| j |  n  | j d  qW| j  |  | j d  d  S(   Ns
   /*try:*/ {i   R  s   /*finally:*/ {c         @  s?   |  d } t  j |  } |   j k r5 | |  d <n | } | S(   Ni    (   R   Rl  Rj  (   t   _nextRO   t	   node_copy(   Rx   (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   fresh_finally_clauseb  s    
s   /*normal exit:*/{s   /*exception exit:*/{R  i   R  i   R  i   s   %s: s   %s = %s;s   %s = 0;(1   R   R#   RT  t   all_new_labelst   get_all_labelst   handle_error_caseR  RJ   R  t   in_try_finallyR   R   t   set_all_labelsRB  Rj  t   preserve_exceptionRe  R   RV  t   is_try_finally_in_nogilR.  R  R  R  R   R=  R1   t   CPtrTypeRJ  t   c_char_typeR&   R	   RX  t   put_error_catcherR  Rk  t   put_error_uncatcherR  R  t   put_error_cleanerRW  R  R  Rm  RC   t   GILExitNodeR   R&  R8   (   Rx   RP   Ri  t
   old_labelst
   new_labelsRb  t   catch_labelt   was_in_try_finallyRQ  Rp  t   preserve_errort   needs_success_cleanupR  t   exc_lineno_cnamest   exc_filename_cnameR  t   finally_old_labelsRg  R!  R  RW  RW  R.  t   ret_temp(    (   Rx   s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   J  s    			
	4	
1"	(	
		c         C@  s*   |  j  j | |  |  j j | |  d  S(   N(   R   R   Rj  (   Rx   R;   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    c   	      C@  sJ  | j  j t  | j  j t  | j  j t  | j d j d g t |   |  |  j rs | j	 d t
  n  | j d  x$ | D] \ } } | j | |  q W| j d | d  | j d | d  d  x | D] } | j |  q W| r0| j d	 | d
 t j | d t j | t j f  n  |  j rF| j   n  d  S(   NRB   s   %s = 0;R.  R  s>   if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&%s, &%s, &%s);i   sm   if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&%s, &%s, &%s) < 0)) __Pyx_ErrFetch(&%s, &%s, &%s);i   s   %s = %s; %s = %s; %s = %s;i    i   (   R   R  R[  Ra  t   swap_exception_utility_codeRJ   R   R   Rw  R-  R1   Ru  RD  R   t   lineno_cnamet   clineno_cnamet   filename_cnameR<  (	   Rx   RP   RQ  R  R  R  RT  R.   R4  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRz    s,    '					c         C@  sO  | j  j t  | j  j t  |  j r< | j d t  n  | j d  | j d  x | d D] } | j |  qa W| j d | d  | j d  x | d  D] } | j |  q W| j d | d   |  j r | j	   n  | j d j
 d	 g t |   |  | rK| j d
 t j | d t j | d t j | f  n  d  S(   NR.  R  s   if (PY_MAJOR_VERSION >= 3) {i   s!   __Pyx_ExceptionReset(%s, %s, %s);R  s   __Pyx_ErrRestore(%s, %s, %s);RB   s   %s = 0;s   %s = %s; %s = %s; %s = %s;i    i   (   R   R  R[  RC  Rw  R-  R1   RJ   Rf  R<  R   R   R   R  R  R  (   Rx   RP   R  R  R  R4  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR{    s*    		'	c         C@  s   | j  j t  |  j r, | j d t  n  | j d  | j d  x | d D] } | j |  qQ W| j d | d  | j d  x" | d  D] } | j | t	  q W|  j r | j
   n  | j d j d g d  | d  d  S(	   NR.  R  s   if (PY_MAJOR_VERSION >= 3) {i   s!   __Pyx_ExceptionReset(%s, %s, %s);R  RB   s   %s = 0;(   R   R  RC  Rw  R-  R1   RJ   Rf  Ru  R	   R<  R   (   Rx   RP   R  R4  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR|    s    		c         C@  s$   |  j  j |  |  j j |  d  S(   N(   R   R   Rj  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   "  s    N(   RF   Rg   R   Rv  R6   Rs  R&   Rm  Rk  R1   Rw  R   R   R   Rj   Ru   R}   R   R|   R   R   Rz  R{  R|  R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRi    s"   						"		t   NogilTryFinallyStatNodec           B@  s   e  Z d  Z e Z d Z RS(   sJ   
    A try/finally statement that may be used in nogil code sections.
    N(   RF   Rg   Rq   R1   Rv  R&   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  '  s   t   GILStatNodec           B@  s;   e  Z d Z d    Z d   Z d   Z d   Z d   Z RS(   c         C@  sQ   | |  _  |  j | | |  t j |  | d | d t | d | d |  j d  S(   NR   Rj  t   statet
   state_temp(   R  t   create_state_temp_if_neededRi  Rz   R}  R  (   Rx   R#   R  R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRz   7  s    		c         C@  s   d d l  m } |   } | j |  | j r> | j r> d  S| d k rV t j } n	 t j } d d l m	 } | j
 | |  |  _ d  S(   Ni   (   t   YieldNodeCollectort   gil(   R   (   t   ParseTreeTransformsR  t   visitchildrent   yieldst   awaitsR   t   c_gilstate_typet   c_threadstate_ptr_typeR   R   R  R  (   Rx   R#   R  R   R  t	   collectorRU  R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  @  s    		c         C@  sC   |  j  d k | _ |  j  d k r- t | _ n  t t |   j |  S(   NR  (   R  t   _in_with_gil_blockR6   R,  R`   R  R   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   N  s    c         C@  sS   | j  t j d d   | j } |  j d k | _ t j |  |  } | | _ | S(   Nt   ForceInitThreadss   ModuleSetupCode.cR  (   R  R   R  R  R  Ri  Rj   (   Rx   R;   t	   was_nogilRO   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   U  s    		c         C@  s   | j  |  j  | j   |  j rE |  j j |  |  j j   } n d  } | j j } |  j	 d k r | j
 d |  t | j _ n | j d |  t | j _ t j |  |  |  j r |  j j |  n  | | j _ | j   d  S(   NR  t   variable(   R   R#   t   begin_blockR  R  R   R&   R  R  R  R-  R6   t   put_release_gilR1   Ri  R   R  t	   end_block(   Rx   RP   R  t   old_gil_config(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   ^  s"    
		N(	   RF   Rg   R&   R  Rz   R  R   Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  0  s   						R}  c           B@  s,   e  Z d  Z g  Z d Z d   Z d   Z RS(   s]   
    Used as the 'finally' block in a GILStatNode

    state   string   'gil' or 'nogil'
    c         C@  s   |  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    c         C@  sQ   |  j  r |  j  j   } n d  } |  j d k r@ | j |  n | j |  d  S(   NR  (   R  R   R&   R  R<  t   put_acquire_gil(   Rx   RP   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    	N(   RF   Rg   Rq   R   R&   R  Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR}  x  s
   	t   EnsureGILNodec           B@  s   e  Z d  Z d   Z RS(   sI   
    Ensure the GIL in nogil functions for cleanup before returning.
    c         C@  s   | j  d t  d  S(   NR.  (   R-  R1   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    (   RF   Rg   Rq   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   t   ArrayAPIs   arrayarray.hs   cpython.arrays   cpython.array.arrayt   __Pyx_patch_asynciot   PatchAsyncIOs   Coroutine.ct   asynciot   __Pyx_patch_inspectt   PatchInspectt   inspectt   CImportStatNodec           B@  s/   e  Z g  Z e Z d    Z d   Z d   Z RS(   c         C@  s  | j  s t |  j d  d  S| j |  j |  j d |  j rA d n d } d |  j k r1g  |  j j d  D] } t |  ^ ql } | d } | j j	 |  } | } x= | d D]1 } | j	 |  } | j
 | | |  j  | } q W|  j r| j
 |  j | |  j  qY| j |  | j
 | | |  j  n( |  j p@|  j } | j
 | | |  j  |  j t k r| j t j t |  j    n  d  S(   Ns$   cimport only allowed at module levelt   relative_leveli    iR  i   (   R  R   R#   R  R  t   is_absoluteR  R   R  t   find_submodulet   declare_modulet   as_nameR  t   utility_code_for_cimportsR  R   R  (   Rx   R;   t   module_scopeR?   R,  t   top_namet   top_module_scopet   submodule_scope(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s.    	'+

	c         C@  s   |  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s    c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s    (   RF   Rg   R   R1   R  R   Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s
   		t   FromCImportStatNodec           B@  sD   e  Z g  Z d Z d Z d Z d    Z d   Z d   Z	 d   Z
 RS(   c         C@  s  | j  s t |  j d  d  S|  j rU |  j | j j d  k rU t |  j d  d  S| j |  j |  j d |  j } | j } | j |  x|  j	 D]\ } } } } | d k r xt
 | j j    D] \ } }	 | j | |	 |  q Wq | j |  }	 |	 r:| r.|  j |	 |  r.|	 j |  n  d |	 _ n | d k sR| d k r|| j | d	 | d
 d  d d d | }	 n | d k r| j | d | d | }	 nl | j j | d | d |  j d t }
 |
 j | k r| j | p| |
 |  j  n t | d | | f  |	 r | p!| } | j | |	 |  q q W| j d  r| t k rv| j t j t |    n  xY |  j	 D]K \ } } } } d | | f } | t k r| j t j t |    qqWn  d  S(   Ns$   cimport only allowed at module levelR  s3   relative cimport beyond main package is not allowedR  R  i   R8  R=  R7  R9  R:  i    R#   t   classR  t   relative_tot   absolute_fallbacks%   Name '%s' not declared in module '%s't   cpythons   %s.%s(   R  R   R#   R  R?  t   countR  R  R  t   imported_namesR   R   R_   R  Rq  t   declaration_matchest
   redeclaredRC  RA  R&   R  R  R1   t   parent_moduleR  R  R  R  R   R  (   Rx   R;   R  R  R#   R?   R  R7  t
   local_nameR   R  R  t   fqname(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     sP    	$!	"$	c         C@  sV   | j  s d S| j } | d k r2 | j sR d Sn  | j s? d S| | j k rR d Sd S(   Ni    R  i   (   R  R.   R  t   is_struct_or_unionR7  (   Rx   R   R7  R.   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    				c         C@  s   |  S(   N(    (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj      s    c         C@  s   d  S(   N(    (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   #  s    N(   RF   Rg   R   R&   R  R  R  R   R  Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   	0		t   FromImportStatNodec           B@  s2   e  Z d  g Z d Z d   Z d   Z d   Z RS(   R  i    c         C@  si   xb |  j  D]W \ } } | d k rT | j s? t |  j d  d  Sd | _ d |  _ q
 | j |  q
 Wd  S(   NR  s%   import * only allowed at module leveli   (   R_   R  R   R#   t   has_import_start   import_starR  (   Rx   R;   R?   Ra  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   3  s    		c   	      C@  s  d d l  m } |  j j |  |  _ | j |  j t  |  _ g  |  _ x|  j	 D]\ } } | d k r xq| j
 j	   D]? \ } } | j rx | j j rx | j t j d d   Pqx qx WqP | j | j  } | j r| j j | k rt | j d  r| j j |  j j j k rqP n  yL | j |  j j j d |  j d |  j j } | j j | j k riwP n  Wqt k
 r}qXn  | j | d   } | j t k rd  } n |  j j | j |  } |  j j | | | f  qP W|  S(	   Ni   (   R   R  t   ExtTypeTests   ObjectHandling.cR  R#   R  (   R   R   R  Rj   R  R#   R	   R   t   interned_itemsR_   R   R  R.   R  R  R   R  Rq  R?   RS  R  R5   R  R   R?  R   R  R&   R'  R  (	   Rx   R;   R   R?   Ra  R  R   R  t   coerced_item(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   >  s8    	
	c      	   C@  s  | j  |  j  |  j j |  |  j r^ | j d t j |  j j   | j |  j  f  n  | j	 j
 t d t } |  j j |  |  j r | j j t j d d   n  x |  j D] \ } } } | j d | |  j j   | j |  | j | |  j  f  | j |  | d  k r4| j |  j |  n* | j |  | j |  | j | |  | j | t  q W| j	 j |  |  j j |  |  j j |  d  S(   Ns   if (%s(%s) < 0) %s;R  t
   ImportFroms   ImportExport.cs!   %s = __Pyx_ImportFrom(%s, %s); %s(   R   R#   R  RX  R  RJ   R   R  R  R  R  R	   R6   R   R  R  R   R  R   R  R  R  R  R&   Rc  t   allocate_temp_resultR  R  R  R   R`  (   Rx   RP   t	   item_tempR?   Ra  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   a  s<    			(   RF   Rg   R   R  R   Rj   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  '  s
   				#t   ParallelNodec           B@  s   e  Z d  Z d Z RS(   s4   
    Base class for cython.parallel constructs.
    N(   RF   Rg   Rq   R&   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s   t   ParallelStatNodec           B@  s  e  Z d  Z d d g Z d Z e Z e Z e Z	 d Z
 d Z e j e j e j f Z e j e j e j f Z e j e j e j f 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  d  Z% d   Z& d   Z' d   Z( d   Z) e d  Z* d   Z+ d   Z, d   Z- d   Z. e e e d  Z/ d Z0 d Z1 d e0 e1 f Z2 d   Z3 d   Z4 RS(!   s  
    Base class for 'with cython.parallel.parallel():' and 'for i in prange():'.

    assignments     { Entry(var) : (var.pos, inplace_operator_or_None) }
                    assignments to variables in this parallel section

    parent          parent ParallelStatNode or None
    is_parallel     indicates whether this node is OpenMP parallel
                    (true for #pragma omp parallel for and
                              #pragma omp parallel)

    is_parallel is true for:

        #pragma omp parallel
        #pragma omp parallel for

    sections, but NOT for

        #pragma omp for

    We need this to determine the sharing attributes.

    privatization_insertion_point   a code insertion point used to make temps
                                    private (esp. the "nsteps" temp)

    args         tuple          the arguments passed to the parallel construct
    kwargs       DictNode       the keyword arguments passed to the parallel
                                construct (replaced by its compile time value)
    R   t   num_threadsi    c         K@  sS   t  t |   j | |  | j d  p+ i  |  _ t   |  _ i  |  _ g  |  _ d  S(   NRw  (	   R`   R  Rz   R  Rw  Rr   t   seen_closure_varst   privatest   assigned_nodes(   Rx   R#   Rl   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRz     s
    	c         C@  sK  |  j  j |  d  |  _ |  j r g  } xl |  j j D]^ } | j j d k r\ | j |  _ q5 |  j r | j j d k r | j |  _	 q5 | j
 |  q5 W| |  j _ y |  j j |  |  _ Wq t k
 r } t |  j j d  q Xn	 i  |  _ xS |  j j   D]B \ } } | |  j k r3t |  j d |  qt |  | |  qWd  S(   NR  t	   chunksizes=   Only compile-time values may be supplied as keyword argumentss   Invalid keyword argument: %s(   R   R   R&   R  Rl   R3   R   R5   t	   is_prangeR  R  R@  t	   ExceptionR   R#   R_   t   valid_keyword_argumentsR   (   Rx   R;   t   pairst   dictitemR  Ry   R~  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR     s(    			c         C@  sZ  |  j  r! |  j  j |  |  _  n  |  j rB |  j j |  |  _ n  |  j j |  |  _ |  j |  |  j  d  k	 rV|  j r |  j j  d  k	 r |  j j r t |  j	 d  no |  j r |  j j r t |  j	 d  nF |  j  j
 j r|  j  j r|  j  j |  d k rt |  j	 d  n  |  j  j   sV|  j  j t j |  j |  |  _  qVn  |  S(   Ns-   num_threads already declared in outer sections;   num_threads must be declared in the parent parallel sectioni    s.   argument to num_threads must be greater than 0(   R  Rj   R  R   t   analyse_sharing_attributesR&   t   parentR  R   R#   R.   R   R   R@  t	   is_simpleR'  R   R=  RU  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj     s&    		(	!c         C@  s   x |  j  j   D] \ } \ } } |  j r] |  j r] | |  j j  k r] t | d  q q] n  |  j r | r t | d  q n  t } |  j | | | |  q Wd S(   s   
        Analyse the privates for this block and set them in self.privates.
        This should be called in a post-order fashion during the
        analyse_expressions phase
        s0   Cannot assign to private of outer parallel blocks*   Reductions not allowed for parallel blocksN(   Rw  R_   R  t   is_parallelR  R   R6   t   propagate_var_privatization(   Rx   R;   R   R#   RY  t   lastprivate(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    "	c         C@  s   | | f |  j  | <| j j r0 t | d  d S|  j r |  j rd | |  j j k rd |  j j } n	 |  j } | r | s | r | j | | | |  q n  d S(   s
  
        Propagate the sharing attributes of a variable. If the privatization is
        determined by a parent scope, done propagate further.

        If we are a prange, we propagate our sharing attributes outwards to
        other pranges. If we are a prange in parallel block and the parallel
        block does not determine the variable private, we propagate to the
        parent of the parent. Recursion stops at parallel blocks, as they have
        no concept of lastprivate or reduction.

        So the following cases propagate:

            sum is a reduction for all loops:

                for i in prange(n):
                    for j in prange(n):
                        for k in prange(n):
                            sum += i * j * k

            sum is a reduction for both loops, local_var is private to the
            parallel with block:

                for i in prange(n):
                    with parallel:
                        local_var = ... # private to the parallel
                        for j in prange(n):
                            sum += i * j

        Nested with parallel blocks are disallowed, because they wouldn't
        allow you to propagate lastprivates or reductions:

            #pragma omp parallel for lastprivate(i)
            for i in prange(n):

                sum = 0

                #pragma omp parallel private(j, sum)
                with parallel:

                    #pragma omp parallel
                    with parallel:

                        #pragma omp for lastprivate(j) reduction(+:sum)
                        for j in prange(n):
                            sum += i

                    # sum and j are well-defined here

                # sum and j are undefined here

            # sum and j are undefined here
        s9   Memoryview slices can only be shared in parallel sectionsN(	   R  R.   R  R   R  R  R  Rw  R  (   Rx   R   R#   RY  R  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  .  s    5		c         C@  s   |  j  r |  j  j | |  S| j |  j k r5 | j S| j j | j t  } |  j j | j  |  j j |  |  j	 j
 | | j f  | j d | | j f  | | _ d S(   so   
        Helper function that allocate a temporary for a closure variable that
        is assigned to.
        s   %s = %s;N(   R  t   _allocate_closure_tempR!  R  R  R  R.   R6   R   t   modified_entriesR  RJ   (   Rx   RP   R   R!  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  u  s    	c         C@  s   t  } x t |  j j    D] \ } \ } } | r | sH | | k r | j j   } | r | ry | j d  t } n  | j d | j | j j	 |  f  q q q Wd  S(   Ns4   /* Initialize private variables to invalid values */s   %s = %s;(
   R6   t   sortedR  R_   R.   t   invalid_valueRJ   R1   R!  RY  (   Rx   RP   t   excludeRs  R   RY  R  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   initialize_privates_to_nan  s    (	c         C@  sD   |  j  } | j j } | | j _ | j |  | | j _ | j   S(   N(   t1   begin_of_parallel_control_block_point_after_declsR  t   ownerRX  R   (   Rx   RP   R  R   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   evaluate_before_block  s    	c         C@  s6   |  j  d k	 r2 | j d |  j | |  j    n  d S(   sS   
        Write self.num_threads if set as the num_threads OpenMP directive
        s    num_threads(%s)N(   R  R&   R  R  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   put_num_threads  s    c         C@  sL   g  |  _  x< t |  j  D]+ } | j s1 | j r |  j | |  q q Wd S(   s  
        If a variable is in a scope object, we need to allocate a temp and
        assign the value from the temp to the variable in the scope object
        after the parallel section. This kind of copying should be done only
        in the outermost parallel section.
        N(   R  R  Rw  t   from_closureR#  R  (   Rx   RP   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   declare_closure_privates  s    	c         C@  sT   xM |  j  D]B \ } } | j d | | j f  | j j | j  | | _ q
 Wd S(   s   
        Release any temps used for variables in scope objects. As this is the
        outermost parallel block, we don't need to delete the cnames from
        self.seen_closure_vars.
        s   %s = %s;N(   R  RJ   R!  R  R  (   Rx   RP   R   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   release_closure_privates  s    c   
      C@  s0  |  j  r,|  j } | j j   |  _ } g  g  } } xI t |  D]; \ } } | j s` | j rp | j |  qB | j |  qB W| r | j	 d d j
 |   n  | r | j	 d d j
 |   n  |  j r,t j g }	 |  j r|	 j |  j  | j	 d |  j  n  | j	 d d j
 |	   q,n  d S(   s   
        Make any used temporaries private. Before the relevant code block
        code.start_collecting_temps() should have been called.
        s    private(%s)s   , s    firstprivate(%s)s    private(%s, %s, %s)s    shared(%s)N(   R  t   privatization_insertion_pointR  t   stop_collecting_tempsR   R  R8   R  R  R  R   t   breaking_label_usedR   t   parallel_whyt   error_label_usedt   extendt   parallel_exct   pos_info(
   Rx   RP   t   exclude_tempsR   R   R  t   firstprivatesR  R.   t   shared_vars(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   privatize_temps  s$    				c         C@  s   |  j  r |  j r | j d  xl t |  j  D]X \ } } | j r[ | j | d t q0 | j r0 | j	 | |  | j d |  q0 q0 Wn  d  S(   Ns   /* Clean up any temporaries */R	  s
   %s = NULL;(
   R  t   is_nested_prangeRJ   R  R   R  Rb  R1   R8   RZ  (   Rx   RP   R  R.   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   cleanup_temps  s    		c         C@  sx   | j    |  _ | j   |  _ | j |  _ | j d d  | _ | j   | j   |  _	 | j   |  _
 |  j |  d S(   s  
        Sets up a block that surrounds the parallel block to determine
        how the parallel section was exited. Any kind of return is
        trapped (break, continue, return, exceptions). This is the idea:

        {
            int why = 0;

            #pragma omp parallel
            {
                return # -> goto new_return_label;
                goto end_parallel;

            new_return_label:
                why = 3;
                goto end_parallel;

            end_parallel:;
                #pragma omp flush(why) # we need to flush for every iteration
            }

            if (why == 3)
                goto old_return_label;
        }
        R?   t   returnN(   R  R  Rb  Ri  RW  RF  R  R  R'  t%   begin_of_parallel_control_block_pointR  t"   undef_builtin_expect_apple_gcc_bug(   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt!   setup_parallel_control_flow_block  s    
c         C@  s   | j    |  _ d S(   s  
        Each OpenMP thread in a parallel section that contains a with gil block
        must have the thread-state initialized. The call to
        PyGILState_Release() then deallocates our threadstate. If we wouldn't
        do this, each with gil block would allocate and deallocate one, thereby
        losing exception information before it can be saved before leaving the
        parallel section.
        N(   R'  t   begin_of_parallel_block(   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   begin_parallel_block  s    	c         C@  s   |  j  r |  j } | } | j d  | j d t  | j d  | j d  | j d  | j d  | j d  | j d  | j   | j d  |  j |  | j   | j d  | j d	  | j d  n  d
 S(   s  
        To ensure all OpenMP threads have thread states, we ensure the GIL
        in each thread (which creates a thread state if it doesn't exist),
        after which we release the GIL.
        On exit, reacquire the GIL and release the thread state.

        If compiled without OpenMP support (at the C level), then we still have
        to acquire the GIL to decref any object temporaries.
        s   #ifdef _OPENMPR.  t   Py_BEGIN_ALLOW_THREADSs   #endif /* _OPENMP */t   Py_END_ALLOW_THREADSs   #elses   {
s   #ifndef _OPENMPs   }
N(   R  R  RJ   R-  R6   t   put_safeR  R<  (   Rx   RP   t
   begin_codet   end_code(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   end_parallel_block  s$    
		

c   	      C@  s  | j    } | j    } t |  _ t |  _ t |  _ g  |  _ | j   } xD | D]< } | j |  rO |  j py | | j k |  _ t	 |  _ qO qO W|  j r | j
 |  n  x t |  D] \ } } | j |  s q n  | | j k } | j |  | o | sG| | j k r&t	 |  _ |  j |  n  | j d t j | d f  n  |  j rp|  j rp| rp| j
 |  q | j
 |  q W|  j r|  j r|  j r| j |  |  j |  n  | j |  | r|  j r| j d t j  qn  d S(   s  
        Trap any kind of return inside a parallel construct. 'should_flush'
        indicates whether the variable should be flushed, which is needed by
        prange to skip the loop. It also indicates whether we need to register
        a continue (we need this for parallel blocks, but not for prange
        loops, as it is a direct jump there).

        It uses the same mechanism as try/finally:
            1 continue
            2 break
            3 return
            4 error
        s   %s = %d;i   s   #pragma omp flush(%s)N(   R  R1   t   any_label_usedR  R  t   parallel_private_tempsRr  Re  R  R6   RV  R  RX  RT  t   fetch_parallel_exceptionRJ   R   R  R  t   save_parallel_varsR  (	   Rx   RP   t   should_flusht   save_lastprivates_labelt   dont_return_labelt
   all_labelsR  R.  t   is_continue_label(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   trap_parallel_exit=  sF    							!	c         C@  s4  d |  j  } | j d |  t j  d 7_  | j   |  j } d } x t |  j j    D] \ } \ } } | s\ | j j	 r q\ n  | j j
   } d | }	 | j }
 | d 7} | j j   } | r d | } n d } | j d | |	 | f  | j d	 |	 |
 f  |  j j |	 |
 f  q\ W| j   d
 S(   s  
        The following shenanigans are instated when we break, return or
        propagate errors from a prange. In this case we cannot rely on
        lastprivate() to do its job, as no iterations may have executed yet
        in the last thread, leaving the values undefined. It is most likely
        that the breaking thread has well-defined values of the lastprivate
        variables, so we keep those values.
        s   __pyx_parallel_lastprivates%ds   #pragma omp critical(%s)i   i    s   __pyx_parallel_temp%ds    = R   s   %s %s%s;s   %s = %s;N(   t   critical_section_counterR  R  R  R  R  R  R_   R.   R8   RR  R!  R  RJ   R  R  R  (   Rx   RP   t   section_nameR   t
   temp_countR   RY  R  t	   type_declt
   temp_cnamet   private_cnameR  Rr  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s*    	
	(
	
c         C@  s   | j    | j d t  | j d t j  | j d t j  | j d |  j  t t	 |  j
 |  j    } t | j _ | j d t |   | j t j  | j d  | j   | j   d S(   s^  
        As each OpenMP thread may raise an exception, we need to fetch that
        exception from the threadstate and save it for after the parallel
        section where it can be re-raised in the master thread.

        Although it would seem that __pyx_filename, __pyx_lineno and
        __pyx_clineno are only assigned to under exception conditions (i.e.,
        when we have the GIL), and thus should be allowed to be shared without
        any race condition, they are in fact subject to the same race
        conditions that they were previously when they were global variables
        and functions were allowed to release the GIL:

            thread A                thread B
                acquire
                set lineno
                release
                                        acquire
                                        set lineno
                                        release
                acquire
                fetch exception
                release
                                        skip the fetch

                deallocate threadstate  deallocate threadstate
        R.  s   #pragma omp flush(%s)s
   if (!%s) {s'   __Pyx_ErrFetchWithState(&%s, &%s, &%s);s   %s = %s; %s = %s; %s = %s;R  N(   R  R-  R6   R  R   t   parallel_exc_typeRJ   R  R   R  t   parallel_pos_infoR  R  t   uses_error_indicatorR  R  R<  R  (   Rx   RP   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    s    

c         C@  s   | j    | j d t  | j t j  | j d |  j  t t	 |  j
 |  j    } | j d t |   | j   | j   d S(   s   Re-raise a parallel exceptionR.  s&   __Pyx_ErrRestoreWithState(%s, %s, %s);s   %s = %s; %s = %s; %s = %s;N(   R  R-  R6   R^  R   R  RJ   R  R   R  R  R  R  R<  R  (   Rx   RP   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   restore_parallel_exception  s    

c         C@  s$   | j  |  j |  j |  j f  d S(   s   
        Restore all old labels. Call this before the 'else' clause to for
        loops and always before ending the parallel control flow block.
        N(   Ru  R  RF  Ri  (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   restore_labels  s    c   	      C@  s  |  j  } |  j r | j d |  j  | j d |  j  | j d t j  | j d  | j d t j  | j d  n  | r |  j } n	 |  j	 } | r| j d t j  | j d t j  | j d t j  x. |  j
 D]# \ } } | j d	 | | f  q W| j d
 t j  | rG| j d  | j | j  n  | rm| j d  | j | j  n  | r| j d  | j | j  n  |  j r| j j t  | j d  |  j |  | j | j  n  | j d  | j d  n  | j   |  j |  d S(   s  
        This ends the parallel control flow block and based on how the parallel
        section was exited, takes the corresponding action. The break_ and
        continue_ parameters indicate whether these should be propagated
        outwards:

            for i in prange(...):
                with cython.parallel.parallel():
                    continue

        Here break should be trapped in the parallel block, and propagated to
        the for loop.
        s*   const char *%s = NULL; int %s = 0, %s = 0;s,   PyObject *%s = NULL, *%s = NULL, *%s = NULL;s	   if (%s) {sg   /* This may have been overridden by a continue, break or return in another thread. Prefer the error. */s   %s = 4;R  s   int %s;s   %s = 0;s   %s = %s;s   switch (%s) {s       case 1: s       case 2: s       case 3: s       case 4:N(   R  R  RJ   R  R  R   R  R  R  R  R  R  RV  R  R  RW  R   R  R[  R  RT  R  t"   redef_builtin_expect_apple_gcc_bug(	   Rx   RP   t   break_t	   continue_t   return_R   R  R  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   end_parallel_control_flow_block  sP    		
		

s(   (defined(__APPLE__) || defined(__OSX__))sQ   (defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))))s
   (%s && %s)c         C@  s    |  j  s | j |  j  n  d S(   s]   
        A bug on OS X Lion disallows __builtin_expect macros. This code avoids them
        N(   R  t   undef_builtin_expectt   redef_condition(   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  <   s    	c         C@  s    |  j  s | j |  j  n  d  S(   N(   R  t   redef_builtin_expectR   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR  C   s    	N(    (5   RF   Rg   Rq   R   R&   R   R1   R  R  R  R  R  R   R  t   parallel_exc_valuet   parallel_exc_tbR  t   parallel_filenamet   parallel_linenot   parallel_clinenoR  R  R  R  R  R  Rz   R   Rj   R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  t   buggy_platform_macro_conditiont   have_expect_conditionR   R  R  (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR    sZ   		 			G							%		C	+	.			H	t   ParallelWithBlockNodec           B@  s/   e  Z d  Z d g Z d Z d   Z d   Z RS(   sI   
    This node represents a 'with cython.parallel.parallel():' block
    R  c         C@  s6   t  t |   j |  |  j r2 t |  j d  n  d  S(   Ns=   cython.parallel.parallel() does not take positional arguments(   R`   R)  R   RM   R   R#   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   Q   s    	c         C@  s  |  j  |  |  j |  | j d  | j d  |  j r g  |  j D] } | j j sG | j ^ qG } | j d d j t	 |    n  | j
   |  _ |  j |  | j d  | j d  | j   |  j |  |  j |  | j j   |  j j |  |  j |  |  j |  |  j |  | j   | j | j  } | j | j  } | j | j  } |  j |  |  j | d | d | d	 | |  j |  d  S(
   Ns   #ifdef _OPENMPs   #pragma omp parallel s   private(%s)s   , R   s   #endif /* _OPENMP */R  R  R  (   R  R  RJ   R  R  R.   R8   R!  R   R  R'  R  R  R  R  R  R  t   start_collecting_tempsR   R   R  R  R  R  Re  R  R  RW  R  R  R  (   Rx   RP   R  R  R  R  R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   W   s:    	#

N(   RF   Rg   Rq   R  R&   R  R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR)  H   s
   		t   ParallelRangeNodec           B@  s   e  Z d  Z d d d d d d g Z d Z Z Z Z d Z	 Z
 Z e Z d Z d Z d d d d g Z d	   Z d
   Z d   Z d   Z d   Z d   Z RS(   s   
    This node represents a 'for i in cython.parallel.prange():' construct.

    target       NameNode       the target iteration variable
    else_clause  Node or None   the else clause of this loop
    R   Ra  R  RM   R  R  t   scheduleR  c         K@  s,   t  t |   j | |  t |  |  _ d  S(   N(   R`   R+  Rz   R3  R  (   Rx   R#   RN   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRz      s    c         C@  sD  t  t |   j |  |  j j |  |  j d  k	 rH |  j j |  n  |  j sg t |  j  d k r{ t	 |  j
 d  d  St |  j  d k r |  j \ |  _ nH t |  j  d k r |  j \ |  _ |  _ n |  j \ |  _ |  _ |  _ t |  j d  r|  j j d  |  _ n  |  j d k r@t	 |  j
 d |  j f  n  d  S(   Ni   s0   Invalid number of positional arguments to prangei   i   t   decodet   asciit   statict   dynamict   guidedt   runtimes'   Invalid schedule argument to prange: %s(   Ns   statics   dynamicR1  R2  (   R`   R+  R   Ra  R  R  R&   RM   R   R   R#   RH  RS   R  RS  R,  R-  (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR      s     c         C@  sw  | j  } |  j  r t | _  n  |  j d  k rA t |  j d  |  S|  j j |  |  _ |  j j j s |  j j j	 s t |  j j d |  j j  n  t
 j |  _ n7 |  j j |  _ |  j j s t |  j j d d d n  d |  _ |  j |  j |  j f } x t | |  j  D] \ } } | d  k	 r| j |  | j j sYt | j d	 |  qn  | j s| j |  } t |  | |  n  t
 j |  j | j  |  _ qqW|  j d  k	 r|  j j |  |  _ n  t |  j d
  r|  j j d  f |  j |  j j <n  t t |   j |  } | j  r| j! sAt | j  j d  nn | j! d k rft | j  j d  nI | j  j j" r| j  j r| j  j# |  d k rt | j  j d  n  | j  j$ t
 j% |  j |  | _  n  | j  r| | _  n  | j& o| j& j' | _( | j( rs| } x" | j& r6| j& j' r6| j& } qW| j j) | j  | j* j) | j*  | j+ j, | j+  n  | S(   Ns/   prange() can only be used as part of a for loops   Must be of numeric type, not %ss1   Unsigned index type not allowed before OpenMP 3.0R   i   RS   RH  R  s   %s argument must be numericR   s$   Must provide schedule with chunksizeR2  s,   Chunksize not valid for the schedule runtimei    s   Chunksize must not be negative(   s   starts   stops   step(-   R  R6   Ra  R&   R   R#   Rk   R.   Ru  R8   R   Rv  t
   index_typeRn  R   R,  RS   RH  R  R  Ri   R   RU  R   R  R  Rj   RS  Rw  R   R`   R+  R  R,  R   R@  R'  R=  R  R  R  Rw   R  R  R  (   Rx   R;   R  t   start_stop_stepRO   R?   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj      sv    		
		"		

			c         C@  sw   d } |  j  |  j |  j |  j f } xL t | |  D]; \ } } | d  k	 r4 | j j r4 t | j	 d |  q4 q4 Wd  S(   NRS   RH  R  Ra  s6   %s may not be a Python object as we don't have the GIL(   s   starts   stops   steps   target(
   RS   RH  R  Ra  R  R&   R.   R8   R   R#   (   Rx   R;   R,  t   nodesR?   RO   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   	!  s    c         C@  sx  |  j  |  |  j j j } i | d 6|  j j j   d 6} |  j |  j |  j f } d } xv t	 | |  j
 |  D]_ \ } } } | d k r | }	 n1 | j r | j   }	 n | j |  | j   }	 |	 | | <qp W| j j |  j t  | d <| j j |  j t  | d <| j d |  |  j |  | j   |  _ | j d |  | j d	 |  | j   |  j | |  | j   |  j |  |  j r|  j r| j d
 t j   n  | j   | j d  |  j j! |  | j   n  |  j" |  xG | |  j# |  j$ f D]/ }
 |
 d k	 r|
 j% |  |
 j& |  qqW| j j' | d  | j j' | d  |  j( |  d S(   s,  
        Generate code in the following steps

            1)  copy any closure variables determined thread-private
                into temporaries

            2)  allocate temps for start, stop and step

            3)  generate a loop that calculates the total number of steps,
                which then computes the target iteration variable for every step:

                    for i in prange(start, stop, step):
                        ...

                becomes

                    nsteps = (stop - start) / step;
                    i = start;

                    #pragma omp parallel for lastprivate(i)
                    for (temp = 0; temp < nsteps; temp++) {
                        i = start + step * temp;
                        ...
                    }

                Note that accumulation of 'i' would have a data dependency
                between iterations.

                Also, you can't do this

                    for (i = start; i < stop; i += step)
                        ...

                as the '<' operator should become '>' for descending loops.
                'for i from x < i < y:' does not suffer from this problem
                as the relational operator is known at compile time!

            4) release our temps and write back any private closure variables
        Ra  R  R  t   1R.  t   nstepss   if (%(step)s == 0) abort();sS   %(nsteps)s = (%(stop)s - %(start)s + %(step)s - %(step)s/abs(%(step)s)) / %(step)s;s   if (%(nsteps)s > 0)s   if (%s < 2)s
   /* else */N(   R  R  R6  ()   R  Ra  R   R!  R.   RR  RS   RH  R  R  R,  R&   R   R   RX  R   R  R  R3  R1   RJ   R  R'  t   control_flow_var_code_pointR  t   generate_loopR  R  R  R  R  R   R  R   R  R  R  R   R`  R  R  (   Rx   RP   t   target_index_cnamet   fmt_dictR4  t   defaultsRO   R?   R   R   R  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   !  sR    (%		

		
c   
      C@  sd  |  j  r | j d  n | j d  |  j sZ | j d  | j   |  _ |  j j } n | j d  | j   |  _ |  j } | j d  | j d  | j   |  j |  |  j  r | j d  n | j d  | j d  xt	 |  j
 j    D] \ } \ } } | rk| d k rk| |  j j k rk| j j rNt |  j d  q| j d	 | | j f  q | |  j j k r| j d
 | j  | j d | j  q n  | j j s | rd } n d } | j d | | j f  q q W|  j r>|  j rd |  j | |  j  } n d } | j d |  j | f  n  |  j |  | j d  | j d  | j d |  | j   | j   }	 | j   | j d |  |  j | d |  j j |  j r| j j   n  |  j j |  |  j | d t |  j |  |  j r)|	 j d t  j!  n  | j"   | j"   |  j r`|  j# |  | j"   n  d  S(   Ns   #if 0s   #ifdef _OPENMPs   #pragma omp fors   #pragma omp parallelR   s   #endif /* _OPENMP */s   +*-&^|s#   Python objects cannot be reductionss    reduction(%s:%s)s    firstprivate(%s)s    lastprivate(%s)R  R  s    %s(%s)s   , %ss    schedule(%s%s)s,   for (%(i)s = 0; %(i)s < %(nsteps)s; %(i)s++)s=   %(target)s = (%(target_type)s)(%(start)s + %(step)s * %(i)s);R  R	  s   if (%s < 2)($   R  RJ   R  R  R'  R  R  R  R  R  R  R_   Ra  R   R.   R8   R   R#   R!  R,  R  R  R  R  R  R*  R   R   R  R6   R  R  R   R  R  R  (
   Rx   RP   R;  t   reduction_codepointR   RY  R  R  R  t   guard_around_body_codepoint(    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR9  !  sv    			
	($	!		

		

	N(   RF   Rg   Rq   R   R&   R   Ra  R  RM   RS   RH  R  R6   R  R  R,  R  Rz   R   Rj   R   R   R9  (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR+  ~   s   				Y		ut   CnameDecoratorNodec           B@  sD   e  Z d  Z d g Z d   Z d   Z d   Z d   Z d   Z RS(   s?  
    This node is for the cname decorator in CythonUtilityCode:

        @cname('the_cname')
        cdef func(...):
            ...

    In case of a cdef class the cname specifies the objstruct_cname.

    node        the node to which the cname decorator is applied
    cname       the cname the node should get
    RO   c         C@  s  |  j  j |  |  j  } t | t  r; | j j d } n  t | t  |  _ t | t t	 f  } | j
 } |  j r |  j | _ |  j | _ t | _ | j rd | j k r|  j | j  | _ qn	| r |  j | _ | j _ n | j } |  j | _ |  j d | j _ t j |  j | j _ |  j d | j _ | j j | j j _ | j j | j _ |  j d | _ x_ | j j   D]N \ } } | j r|  j | j  | _ n  | j r|  j | j  | _ qqWd  S(   Ni    R  t   _objt   _typeR  (   RO   R   RC   R   R   R   R  t   is_functionR  R  R   R!  R  R6   RC  R)  R>  R.   R9  R  R   t   typeobj_prefixR	  R8  R  R  R'  R   R_   (   Rx   R;   RO   t   is_struct_or_enumR  R9  R?   R   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   !  s8    							c         C@  s3   d | k r" | j  d  d } n  d |  j | f S(   NR  is   %s_%s(   R  R!  (   Rx   R!  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR>  "  s    c         C@  s   |  j  j |  |  _  |  S(   N(   RO   Rj   (   Rx   R;   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyRj   $"  s    c         C@  s   |  j  r | j r | j d } t |  j t  rP |  j j | d t d t q d d l	 m
 } |  j j } | j } | j | _ | j | | j   | d t | | _ n  |  j j | |  d S(   s=   Ensure a prototype for every @cname method in the right placet   utility_code_protoR  R  i   (   t
   ModuleNodet
   definitionN(   RB  R  R   RC   RO   RD  R  R1   R6   R   RF  R   R!  R  t   generate_cfunction_declarationR   R   (   Rx   R;   RP   t   h_codeRF  R   R!  (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   ("  s     			c         C@  s   |  j  j |  d  S(   N(   RO   R   (   Rx   RP   (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR   A"  s    (	   RF   Rg   Rq   R   R   R>  Rj   R   R   (    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyR?  !  s   		&			sC  
/* Test for GCC > 2.95 */
#if defined(__GNUC__)     && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
  #define likely(x)   __builtin_expect(!!(x), 1)
  #define unlikely(x) __builtin_expect(!!(x), 0)
#else /* !__GNUC__ or GCC < 2.95 */
  #define likely(x)   (x)
  #define unlikely(x) (x)
#endif /* __GNUC__ */
s1   
#define likely(x)   (x)
#define unlikely(x) (x)
t   Prints
   Printing.ct   PrintOneR]  s   Exceptions.ct   RaiseExceptiont   GetExceptiont   SwapExceptiont   SaveResetExceptiont   AddTracebackR  sR   
static PyObject *__Pyx_GetExceptionTuple(PyThreadState *__pyx_tstate); /*proto*/
t   impls1  
static PyObject *__Pyx_GetExceptionTuple(CYTHON_UNUSED PyThreadState *__pyx_tstate) {
    PyObject *type = NULL, *value = NULL, *tb = NULL;
    if (__Pyx_GetException(&type, &value, &tb) == 0) {
        PyObject* exc_info = PyTuple_New(3);
        if (exc_info) {
            Py_INCREF(type);
            Py_INCREF(value);
            Py_INCREF(tb);
            PyTuple_SET_ITEM(exc_info, 0, type);
            PyTuple_SET_ITEM(exc_info, 1, value);
            PyTuple_SET_ITEM(exc_info, 2, tb);
            return exc_info;
        }
    }
    return NULL;
}
t   requires(   t
   __future__R    t   cythonR  Rl  t
   Py_ssize_tR   R   R   t	   itertoolsR   R   R   t   ErrorsR   R   R   R   R   R   R   R	   R   t   SymtabR
   R   R   R   R   R   R   R]   R   t   StringEncodingR   R   R   R   t   UtilsR   R   R  R   R   t   longR$   R-   RA   RX   R.   RY   Rh   Rt   Ru   R   R   R   R   R   R   R   R   R   R   R  RI  RL  Rj  R9   Rk  R{  R  RT  R  R  R  R  R  R  R  R  R  R  R  R  R  R  RD  R  R  R  R  R  R  R  R  R*  R+  R.  R  R7  R;  R|  R8  R  R  R  R  R3  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R   R  R  R  R  R'  R1  R3  RY  Ri  R  R  R}  R  R  t   utility_code_for_importsR  R  R  R  R  R)  R+  R?  t   gcc_branch_hintst   branch_prediction_macrosR  R  R  R[  R  Ra  R  RC  t   traceback_utility_codet    get_exception_tuple_utility_code(    (    (    s8   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Nodes.pyt   <module>   s>  $"4						*%,r	^!O'f-U:   u     .6E1 1f/GC)6	ff=0%)<\	
a
g! 	H	,Q\  6 kc		