
    sh                         S SK Jr  S SKJrJr  S SKJr  S SKJr  S SK	J
r
  S SKJrJr   " S S5      rS	\4S
 jr\
S 5       r\" \SS9S 5       r\
S 5       r\" \SSS9S 5       rg)    )types)overloadoverload_method)	signature)	nvvmutils)	intrinsic)
grid_group	GridGroupc                   "    \ rS rSrSrSS jrSrg)r
   	   z0A cooperative group representing the entire gridNc                      g)zSynchronize this grid groupN r       a/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/cg.pysyncGridGroup.sync   s    r   r   )returnN)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r
   r
   	   s
    :*r   r
   r   c                      [        5       $ )zGet the current grid group.)r
   r   r   r   	this_gridr      s
    ;r   c                 ,    [        [        5      nS nX4$ )Nc                     U R                  [        R                  S5      nUR                  nUR	                  [
        R                  " U5      U45      $ )N   )get_constantr   int32modulecallr    declare_cudaCGGetIntrinsicHandle)contextbuildersigargsonemods         r   codegen_this_grid.<locals>.codegen   sE    ""5;;2nn||66s;F 	r   )r   r	   )	typingctxr&   r*   s      r   
_this_gridr-      s    
J
C <r   cuda)targetc                      S n U $ )Nc                      [        5       $ N)r-   r   r   r   impl_ol_this_grid.<locals>.impl%   s
    |r   r   )r3   s    r   _ol_this_gridr5   #   s     Kr   c                 B    [        [        R                  U5      nS nX#4$ )Nc                     U R                  [        R                  S5      nUR                  nUR	                  [
        R                  " U5      / UQUP75      $ )Nr   )r   r   r    r!   r"   r   declare_cudaCGSynchronize)r$   r%   r&   r'   flagsr)   s         r   r*   !_grid_group_sync.<locals>.codegen/   sK    $$U[[!4nn||//4dNEN 	r   )r   r   r    )r,   groupr&   r*   s       r   _grid_group_syncr<   +   s!    
EKK
'C <r   r   c                     S nU$ )Nc                     [        U 5      $ r2   )r<   )r;   s    r   r3   !_ol_grid_group_sync.<locals>.impl;   s    &&r   r   )r;   r3   s     r   _ol_grid_group_syncr@   9   s    ' Kr   N)
numba.corer   numba.core.extendingr   r   numba.core.typingr   
numba.cudar   numba.cuda.extendingr   numba.cuda.typesr	   r
   GridGroupClassr   r-   r5   r<   r@   r   r   r   <module>rH      s     : '   * D* *9 
 
 
 
)F# $ 
 
 7 8r   