
    sh                         S SK rS SKJr  S SKJrJr  S SKJrJ	r	J
r
  S SKJrJr  S SKrS r\" S5       " S S	\5      5       r\S
:X  a  \R$                  " 5         gg)    N)	PYVERSION)skip_on_cudasimCUDATestCase)override_configcaptured_stderrcaptured_stdout)cudafloat64c                 B    [         R                  " S5      nX   S-   X'   g )N         ?)r	   grid)ABis      v/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/tests/cudapy/test_debug.pysimple_cudar      s    		!A4#:AD    z&Simulator does not produce debug dumpsc                   b    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rSrg)TestDebugOutput   c                 N   [        5        n[        5        n[        R                  " [        S S  [        S S  45      " [
        5      n[        R                  " SSS5      R                  [        R                  5      n[        R                  " U5      nUS   " XE5        U R                  [        R                  " US-   U5      5        S S S 5        S S S 5        U R                  WR                  5       5        WR                  5       $ ! , (       d  f       NE= f! , (       d  f       NN= f)Nr   r   
   )r   r   r   )r   r   r	   jitr
   r   nplinspaceastype
zeros_like
assertTrueallcloseassertFalsegetvalue)selferroutcfuncr   r   s         r   compile_simple_cuda#TestDebugOutput.compile_simple_cuda   s    # "c'!*gaj!9:;G KK1b)00<MM!$eQ"AGQ 78 #  	(||~ #" s#   DB0DD
D	D
D$c                 8    U R                   " [        /UQ70 UD6  g )N)assertRaisesAssertionError)r#   argskwargss      r   assert_failsTestDebugOutput.assert_fails!   s    .:4:6:r   c                    [         R                  / SQS5      nU H  nXC;   d   eSX4'   M     [        UR                  5       5       H;  u  pE[	        U SU-  5      nU(       a
  U" U5        M%  U R                  [        Xa5        M=     g )N)bytecodecfgirllvmassemblyFTz_check_dump_%s)dictfromkeyssorteditemsgetattrr*   r+   )r#   r%   enabled_dumps	all_dumpsnameenabled
check_meths          r   check_debug_output"TestDebugOutput.check_debug_output$   s}    MM #/"')	 "D$$$"IO " $IOO$56MD '7$'>?J3!!.*B 7r   c                     [         S;   a  U R                  SU5        g [         S;   a  U R                  SU5        g [        [         5      e)N))      )rC      )rC      zBINARY_OP(arg=0))rC   r   
BINARY_ADD)r   assertInNotImplementedErrorr#   r%   s     r   _check_dump_bytecode$TestDebugOutput._check_dump_bytecode2   s;    33MM+S1*$MM,,%i00r   c                 (    U R                  SU5        g )NzCFG dominatorsrH   rJ   s     r   _check_dump_cfgTestDebugOutput._check_dump_cfg;   s    &,r   c                 L    U R                  SU5        U R                  SU5        g )Nz--IR DUMP: simple_cuda--zconst(float, 1.5)rN   rJ   s     r   _check_dump_irTestDebugOutput._check_dump_ir>   s     0#6)3/r   c                 L    U R                  SU5        U R                  SU5        g )Nz--LLVM DUMPz!"kernel", i32 1rN   rJ   s     r   _check_dump_llvm TestDebugOutput._check_dump_llvmB   s    mS)(#.r   c                 L    U R                  SU5        U R                  SU5        g )Nz--ASSEMBLY simple_cudaz!Generated by NVIDIA NVVM CompilerrN   rJ   s     r   _check_dump_assembly$TestDebugOutput._check_dump_assemblyF   s     .493?r   c                     [        SS5         U R                  5       nS S S 5        U R                  WS/5        g ! , (       d  f       N"= f)NDUMP_BYTECODETr1   r   r'   r@   rJ   s     r   test_dump_bytecode"TestDebugOutput.test_dump_bytecodeJ   :    _d3**,C 4j\2 43	   :
Ac                     [        SS5         U R                  5       nS S S 5        U R                  WS/5        g ! , (       d  f       N"= f)NDUMP_IRTr3   r\   rJ   s     r   test_dump_irTestDebugOutput.test_dump_irO   s:    Y-**,C .dV, .-r`   c                     [        SS5         U R                  5       nS S S 5        U R                  WS/5        g ! , (       d  f       N"= f)NDUMP_CFGTr2   r\   rJ   s     r   test_dump_cfgTestDebugOutput.test_dump_cfgT   s:    Z.**,C /eW- /.r`   c                     [        SS5         U R                  5       nS S S 5        U R                  WS/5        g ! , (       d  f       N"= f)N	DUMP_LLVMTr4   r\   rJ   s     r   test_dump_llvmTestDebugOutput.test_dump_llvmY   s:    [$/**,C 0fX. 0/r`   c                     [        SS5         U R                  5       nS S S 5        U R                  WS/5        g ! , (       d  f       N"= f)NDUMP_ASSEMBLYTr5   r\   rJ   s     r   test_dump_assembly"TestDebugOutput.test_dump_assembly^   r_   r`    N)__name__
__module____qualname____firstlineno__r'   r.   r@   rK   rO   rR   rU   rX   r]   rc   rg   rk   ro   __static_attributes__rq   r   r   r   r      sE    ;C1-0/@3
-
.
/
3r   r   __main__)numpyr   numba.core.utilsr   numba.cuda.testingr   r   numba.tests.supportr   r   r   numbar	   r
   unittestr   r   rr   mainrq   r   r   <module>r      s`     & <2 2  
 9:P3l P3 ;P3f zMMO r   