
    sh                     `    S r SSKJr  SSKJr  SSKJrJr  \S 5       r\S 5       r	\S 5       r
g)	z
This file provides internal compiler utilities that support certain special
operations with bytes and workarounds for limitations enforced in userland.
    )	intrinsic)ir)typescgutilsc                 t    S n[         R                  " [         R                  [         R                  5      nXC4$ )Nc                     Uu  pEUR                  U[        R                  " S5      R                  5       5      nUR	                  UR                  Xe/5      5      nU$ )N   bitcastr   IntType
as_pointerloadgepcontextbuilder	signatureargsdataidxptrchs           k/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/core/unsafe/bytes.pyimplgrab_byte.<locals>.impl   sH    	oodBJJqM$<$<$>?\\'++c512	    )r   uint8voidptrintp	typingctxr   offsetr   sigs        r   	grab_byter$      s)     ++emmUZZ
0C9r   c                 t    S n[         R                  " [         R                  [         R                  5      nXC4$ )Nc                     Uu  pEUR                  U[        R                  " S5      R                  5       5      nUR	                  UR                  Xe/5      5      nU$ )N@   r
   r   s           r   r   grab_uint64_t.<locals>.impl   sH    	oodBJJrN$=$=$?@\\'++c512	r   )r   uint64r   r   r    s        r   grab_uint64_tr*      s)    
 ,,u}}ejj
1C9r   c                     S n[         R                  " [         R                  [         R                  [         R                  [         R                  [         R                  [         R                  5      nX4$ )z;Copy nbytes from *(src + src_offset) to *(dst + dst_offset)c                     Uu  pEpgnn	UR                  Xg/5      n
UR                  XE/5      n[        R                  " XXU	5        U R                  5       $ )N)r   r   
raw_memcpyget_dummy_value)r   r   r   r   dst_valdst_offset_valsrc_valsrc_offset_val
nbytes_val	align_valsrc_ptrdst_ptrs               r   codegenmemcpy_region.<locals>.codegen'   sV    	':	++g'78++g'787W)L&&((r   )r   voidr   r   )	r!   dst
dst_offsetsrc
src_offsetnbytesalignr7   r#   s	            r   memcpy_regionr@   $   sD    ) **U]]EJJuzzZZ-C<r   N)__doc__numba.core.extendingr   llvmliter   
numba.corer   r   r$   r*   r@    r   r   <module>rF      sQ   
 +  % 	 	    r   