o
    i                     @   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)Z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cudaZvote_sync_intrinsicmask	predicate r   k/var/www/html/eduruby.in/lip-sync/lip-sync-env/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   Zshfl_sync_intrinsic)r	   valueZ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   Z	lane_maskr   r   r   shfl_xor_syncG   s   r   )Z
decoratorsr   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   s$    




	
	
	