o
    Tę«dæ  ć                   @   sØ   d dl mZ ddlZedddd Zedddd	 Zeddd
d Zedddd Zedddd Zedddd Zedddd Z	edddd Z
dS )é   )Śjité    NT)Śdevicec                 C   ó   t j | d|”d S )z
    If for all threads in the masked warp the predicate is true, then
    a non-zero value is returned, otherwise 0 is returned.
    r   r   ©ŚnumbaŚcudaŚvote_sync_intrinsic©ŚmaskŚ	predicate© r   śo/home/ncw/WWW/www-new/content/articles/pi-bbp/venv/lib/python3.10/site-packages/numba/cuda/intrinsic_wrapper.pyŚall_sync   ó   r   c                 C   s   t j | d|”d S )z
    If for any thread in the masked warp the predicate is true, then
    a non-zero value is returned, otherwise 0 is returned.
    r   r   r
   r   r   r   Śany_sync   r   r   c                 C   r   )z
    If for all threads in the masked warp the boolean predicate is the same,
    then a non-zero value is returned, otherwise 0 is returned.
    é   r   r   r
   r   r   r   Śeq_sync   r   r   c                 C   r   )zo
    Returns a mask of all threads in the warp whose predicate is true,
    and are within the given mask.
    é   r   r   r
   r   r   r   Śballot_sync    r   r   c                 C   s   t j | d||d”d S )z
    Shuffles value across the masked warp and returns the value
    from src_lane. If this is outside the warp, then the
    given value is returned.
    r   é   ©r   r   Śshfl_sync_intrinsic)r   ŚvalueŚsrc_laner   r   r   Ś	shfl_sync)   ó   r   c                 C   s   t j | d||d”d S )z£
    Shuffles value across the masked warp and returns the value
    from (laneid - delta). If this is outside the warp, then the
    given value is returned.
    r   r   r   ©r   r   Śdeltar   r   r   Śshfl_up_sync3   r   r   c                 C   ó   t j | d||d”d S )z£
    Shuffles value across the masked warp and returns the value
    from (laneid + delta). If this is outside the warp, then the
    given value is returned.
    r   r   r   r   r   r   r   r   Śshfl_down_sync=   r   r!   c                 C   r    )zd
    Shuffles value across the masked warp and returns the value
    from (laneid ^ lane_mask).
    r   r   r   r   )r   r   Ś	lane_maskr   r   r   Śshfl_xor_syncG   s   r#   )Ś
decoratorsr   r   r   r   r   r   r   r   r!   r#   r   r   r   r   Ś<module>   s$    




	
	
	