
    sh                     z    S SK rS SKJr  S SKJr  S SKJrJr   " S S\5      r	\
S:X  a  \R                  " 5         gg)    N)driver)cuda)unittestContextResettingTestCasec                   ,    \ rS rSrS rS rS rS rSrg)TestHostAlloc   c                    Sn[         R                  " 5       R                  USS9n[        R                  " [        R
                  5      n[        R                  " XR                  -  UUS9nSn[        R                  " X%U5        U R                  [        R                  " XE:H  5      5        UR                  U5        [        R                  " U5      n[        R                  " XbUR                  5        U R                  [        R                  " XF:H  5      5        U R                  [        R                  " Xa:H  5      5        g )N    T)mapped)shapedtypebuffer   )r   current_contextmemhostallocnpr   uint8ndarrayitemsizer   device_memset
assertTrueallfill
empty_likedevice_to_hostsize)selfnmemr   arymagicrecvs          |/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/tests/cudadrv/test_host_alloc.pytest_host_alloc_driver$TestHostAlloc.test_host_alloc_driver   s    ""$11!D1A"jjqNN2% #% S+s|,-}}S!d2s{+,ty)*    c                    [         R                  " S[        R                  S9nUR	                  S5        U R                  [        US:H  5      5        [         R                  " U5      n[        R                  " US[        R                  " U5      5        U R                  [        US:H  5      5        UR                  U5        U R                  [        US:H  5      5        g N
   r   {   r   )r   pinned_arrayr   uint32r   r   r   	to_devicer   r   device_memory_sizecopy_to_host)r   r!   devarys      r$   test_host_alloc_pinned$TestHostAlloc.test_host_alloc_pinned   s    "))4C3J($VQ(A(A&(IJC3J(C C1H&r'   c                 x   [         R                  " S[        R                  S9nUR	                  S5        U R                  [        US:H  5      5        [        R                  " US[        R                  " U5      5        U R                  [        US:H  5      5        U R                  [        US:g  5      S:H  5        g r)   )r   mapped_arrayr   r.   r   r   r   r   r   r0   sumr   r!   s     r$   test_host_alloc_mapped$TestHostAlloc.test_host_alloc_mapped(   s    "))4C3J(S!V%>%>s%CDC1H&C1H*+r'   c                 J   [         R                  " S[        R                  S9[         R                  " S[        R                  S94 GHX  n[        S5      US S & U R                  [        US-   5      S:H  5        U R                  [        US-   S-  S-
  5      S:H  5        U R                  [        US:  5      S:H  5        U R                  [        US:*  5      S:H  5        U R                  [        US:  5      S	:H  5        U R                  [        US:  5      S
:H  5        U R                  [        US-  5      S:H  5        U R                  [        US-  5      S:H  5        U R                  [        US-  5      S:H  5        U R                  [        US-  5      S:H  5        GM[     g )Nr*   r+      7      d               i     g       @g     6@)r   r6   r   r.   r-   ranger   r7   r8   s     r$   test_host_operators!TestHostAlloc.test_host_operators0   sG   %%b		:%%b		:<C2YCFOOCaLB./OOCqA 12c9:OOCaLA-.OOCqMQ./OOCaLA-.OOCqMQ./OOCqMS01OOCqMR/0OOCc	Nd23OOCaLA-.<r'    N)	__name__
__module____qualname____firstlineno__r%   r3   r9   rF   __static_attributes__rH   r'   r$   r   r      s    +,',/r'   r   __main__)numpyr   numba.cuda.cudadrvr   numbar   numba.cuda.testingr   r   r   rI   mainrH   r'   r$   <module>rT      s7     %  A6/, 6/r zMMO r'   