ó
Nä²Wc           @   s"   d  d d „ Z  d  d d „ Z d S(   t   digitss   unsigned longc            s<   d |  d d j  ‡  ‡ f d †  t |  d d d ƒ Dƒ ƒ S(   s¤   
    Generate an unrolled shift-then-or loop over the first 'count' digits.
    Assumes that they fit into 'join_type'.

    (((d[2] << n) | d[1]) << n) | d[0]
    t   (i   s    | c         3   s1   |  ]' } d  ˆ ˆ  | | r! d n d f Vq d S(   s   (%s)%s[%d])%s)s    << PyLong_SHIFTt    N(    (   t   .0t   _i(   t
   digits_ptrt	   join_type(    s:   /bar/jli/Chip-seq/script/cython/Cython/Utility/__init__.pys	   <genexpr>
   s   i   iÿÿÿÿ(   t   joint   range(   t   countR   R   (    (   R   R   s:   /bar/jli/Chip-seq/script/cython/Cython/Utility/__init__.pyt   pylong_join   s    c            sF   ‡ f d †  ‰ d d j  ‡  ‡ ‡ f d †  t |  d d d ƒ Dƒ ƒ S(   s    
    Generate an or-ed series of shifts for the first 'count' digits.
    Assumes that they fit into 'join_type'.

    (d[2] << 2*n) | (d[1] << 1*n) | d[0]
    c            s   |  r d |  ˆ  |  f Sd S(   Ns@    << (%d * PyLong_SHIFT < 8 * sizeof(%s) ? %d * PyLong_SHIFT : 0)R   (    (   t   n(   R   (    s:   /bar/jli/Chip-seq/script/cython/Cython/Utility/__init__.pyt   shift   s    s   (%s)s    | c         3   s+   |  ]! } d  ˆ ˆ  | ˆ | ƒ f Vq d S(   s   (((%s)%s[%d])%s)N(    (   R   t   i(   R   R   R   (    s:   /bar/jli/Chip-seq/script/cython/Cython/Utility/__init__.pys	   <genexpr>   s   i   iÿÿÿÿ(   R   R   (   R	   R   R   (    (   R   R   R   s:   /bar/jli/Chip-seq/script/cython/Cython/Utility/__init__.pyt   _pylong_join   s    	N(   R
   R   (    (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Utility/__init__.pyt   <module>   s   