
    Ae                         ddZ ddZy)digitsc           	      j    d| dz  z  dj                  fdt        | dz
  dd      D              z   S )z
    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]
    (    | c              3   8   K   | ]  }d ||rdndfz    yw)z(%s)%s[%d])%s)z << PyLong_SHIFT N ).0_i
digits_ptr	join_types     7lib/python3.12/site-packages/Cython/Utility/__init__.py	<genexpr>zpylong_join.<locals>.<genexpr>	   s-      +* 	Iz2R7IUWXX+*s      joinrange)countr   r   s    ``r   pylong_joinr      s@     519

 +*aR(+* !* * +    c           	      l    fdddj                  fdt        | dz
  dd      D              z  S )z
    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                     | rd| | fz  S dS )Nz@ << (%d * PyLong_SHIFT < 8 * sizeof(%s) ? %d * PyLong_SHIFT : 0)r   r	   )nr   s    r   shiftz_pylong_join.<locals>.shift   s!    ijQUVXacdTeerprrr   z(%s)r   c              3   <   K   | ]  }d | |      fz    yw)z(((%s)%s[%d])%s)Nr	   )r
   ir   r   r   s     r   r   z_pylong_join.<locals>.<genexpr>   s+      ) 	iQaAA)s   r   r   r   )r   r   r   r   s    ``@r   _pylong_joinr      s=    s EJJ )uQwB') ) ) )r   N)r   zunsigned long)r   r   r	   r   r   <module>r      s   	+)r   