o
    DÉli¿  ã                   @   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   úl/var/www/html/tatsat2dev/dashboard-backend/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$    




	
	
	