
    sh	                         S SK rS SKJr  S SKJr  S SKJr  S SKr\R                  " S 5      r
 " S S\5      r\S:X  a  \R                  " 5         gg)	    N)cuda)ENABLE_CUDASIM)CUDATestCasec                 
    X-   $ N abs     z/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/tests/cudapy/test_reduction.py<lambda>r      s    ae    c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)TestReduction   c                     [         R                  " U[         R                  S9S-   nUR                  5       n[	        U5      nU R                  X45        g )Ndtype   nparangefloat64sum
sum_reduceassertEqual)selfnAexpectgots        r   _sum_reduceTestReduction._sum_reduce   =    YYq

+a/m%r   c                 `    [         (       a  SS/nO/ SQnU H  nU R                  U5        M     g )Nr      )r      r&               i  i   i  i   i   i  i i  )r   r"   )r   
test_sizesr   s      r   test_sum_reduceTestReduction.test_sum_reduce   s4    > bJJJ AQ r   c                     [         R                  " S[         R                  S9S-   nUR                  5       n[	        U5      nU R                  X#5        g Nr   r   r   r   )r   r   r    r!   s       r   test_empty_array_host#TestReduction.test_empty_array_host    r$   r   c                     [         R                  " S[         R                  S9S-   n[        R                  " U5      nUR                  5       n[        U5      nU R                  X45        g r0   )r   r   r   r   	to_devicer   r   r   )r   r   dAr    r!   s        r   test_empty_array_device%TestReduction.test_empty_array_device&   sK    YYq

+a/^^An%r   c                     [         R                  " S 5      n[        R                  " S[        R                  S9S-   nUR                  5       nU" USS9n[        R                  R                  X45        g )Nc                 
    X-  $ r   r   r	   s     r   r   0TestReduction.test_prod_reduce.<locals>.<lambda>.   s    qur   @   r   r   init)r   reducer   r   r   prodtestingassert_allclose)r   prod_reducer   r    r!   s        r   test_prod_reduceTestReduction.test_prod_reduce-   sS    kk"45YYr,q0!!$


""6/r   c                     [         R                  " S 5      n[        R                  " S[        R                  S9S-   nUR                  5       nU" USS9nU R                  X45        g )Nc                     [        X5      $ r   )maxr	   s     r   r   /TestReduction.test_max_reduce.<locals>.<lambda>5   s    c!ir   i  r   r   r   r<   )r   Reducer   r   r   rG   r   )r   
max_reducer   r    r!   s        r   test_max_reduceTestReduction.test_max_reduce4   sO    [[!78
YYt2::.2#%r   c                     Sn[         R                  " S[         R                  S9S-   nUR                  5       U-   n[	        X!S9nU R                  X45        g )N   
   r   r   r<   r   )r   r=   r   r    r!   s        r   test_non_identity_init$TestReduction.test_non_identity_init;   sG    YYr,q04&%r   c                 :   [         R                  " S[         R                  S9S-   n[        R                  " [         R
                  " S[         R                  S95      nUR                  5       n[        XS9nU R                  U5        U R                  X2S   5        g )NrO   r   r   )resr   )
r   r   r   r   r4   zerosr   r   assertIsNoner   )r   r   r!   r    rS   s        r   test_result_on_device#TestReduction.test_result_on_deviceB   sm    YYr,q0nnRXXarzz:;$#Q(r   r   N)__name__
__module____qualname____firstlineno__r"   r-   r1   r6   rC   rK   rP   rV   __static_attributes__r   r   r   r   r      s*    & &&0&&)r   r   __main__)numpyr   numbar   numba.core.configr   numba.cuda.testingr   unittestrI   r   r   rX   mainr   r   r   <module>rd      sJ      , +  [[+,
=)L =)@ zMMO r   