+
    :iL                         ^ RI t^ RIHt ^ RIHtHtHtHtH	t	 ^ RI
HtHt ^ RI
HtHtHt ]! R4       ! R R]4      4       t]R	8X  d   ]P$                  ! 4        R# R# )
    N)StringIO)cudafloat32float64int32intp)unittestCUDATestCase)skip_on_cudasimskip_with_nvdisasmskip_without_nvdisasmz0Simulator does not generate code to be inspectedc                      a  ] tR t^
t o ]R 4       tR tR tR t]	! R4      R 4       t
]	! R4      R 4       t]! R4      R	 4       t]	! R
4      R 4       tRtV tR# )TestInspectc                T    \         P                  ! 4       P                  P                  # N)r   current_contextdevicecompute_capability)selfs   &b/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/cuda/tests/cudapy/test_inspect.pyccTestInspect.cc   s    ##%,,???    c                   \         \        3p\        P                  ! V4      R  4       p\	        4       pVP                  VR7       VP                  4       pV P                  RV4       V P                  RV4       VP                  4        VP                  V4      pV P                  RV4       V P                  RV4       V P                  RV4       VP                  V4      pV P                  RV4       V P                  RV4       R# )c                     R # r    xys   &&r   foo'TestInspect.test_monotyped.<locals>.foo       r   filer    z(float32, int32)cuda.kernel.wrapperdefine linkonce_odr i32z!Generated by NVIDIA NVVM CompilerN)r   r   r   jitr   inspect_typesgetvalueassertIncloseinspect_llvminspect_asm)r   sigr    r$   typeannollvmasms   &      r   test_monotypedTestInspect.test_monotyped   s    	#	 
	 zt$==?eX&((3

$eT" 	+T2 	/6ooc" 	eS!93?r   c                   \         P                  R  4       pVR
,          ! ^^4       VR
,          ! RR4       \        4       pVP                  VR7       VP	                  4       pVP                  4        V P                  RP                  \        4      V4       V P                  RV4       VP                  4       pV P                  ^\        V4      4       V P                  \        \        3V4       V P                  \        \        3V4       V P                  RV\        \        3,          4       V P                  RV\        \        3,          4       V P                  RV\        \        3,          4       V P                  RV\        \        3,          4       V P                  RV\        \        3,          4       V P                  RV\        \        3,          4       VP                  4       pV P                  ^\        V4      4       V P                  \        \        3V4       V P                  \        \        3V4       V P                  RV\        \        3,          4       V P                  RV\        \        3,          4       R	# )c                     R # r   r   r   s   &&r   r    'TestInspect.test_polytyped.<locals>.foo1   r"   r   g333333?g333333@r#   z
({0}, {0})z(float64, float64)r    r%   r&   N)   r7   )r   r'   r   r(   r)   r+   r*   formatr   r,   assertEquallenr   r-   )r   r    r$   r/   llvmirsasmdicts   &     r   test_polytypedTestInspect.test_polytyped0   s   		 
	 	D	!QD	#szt$==?

l))$/:*H5 ""$CL+tTlG,w('2 	eWT4Z01eWWg%567 	+WT4Z-@A+WWg5E-FG 	/t1DE/'9I1JK//# 	CL+tTlG,w('2 	eWT4Z01eWWg%567r   c                   R pVP                  4        F  pRV9   g   K  W%9   g   K  RpK  	  V P                  V4       V P                  VR4       V P                  RV4       V P                  RV4       V P                  RV4       R# )Fz.textTz*//## File ".*/test_inspect.py", line [0-9]S2RBRAEXITN)split
assertTrueassertRegexr*   )r   kernelnamesassseen_functionlines   &&&&  r   _test_inspect_sassTestInspect._test_inspect_sass]   sr    JJLD$4< $ ! 	&LM 	eT"eT"fd#r   z"nvdisasm needed for inspect_sass()c                    \         R ,          \        R ,          3p\        P                  ! VRR7      R 4       pV P	                  VRVP                  V4      4       R# )NNr7   Tlineinfoc                     \         P                  ! ^4      pV\        V 4      8  d   W;;,          W,          ,          uu&   R# R# r7   Nr   gridr:   r   r   is   && r   add0TestInspect.test_inspect_sass_eager.<locals>.addq   ,    		!A3q6z r   rW   N)r   r   r   r'   rK   inspect_sassr   r.   rW   s   &  r   test_inspect_sass_eager#TestInspect.test_inspect_sass_eagerm   sP    s|U3Z(	#	%	 
&	
 	UC,<,<S,ABr   c                   \         P                  ! R R7      R 4       p\        P                  ! ^
4      P	                  \        P
                  4      p\        P                  ! ^
4      P	                  \        P                  4      pVR,          ! W#4       \
        R,          \        R,          3pV P                  VRVP                  V4      4       R# )TrO   c                     \         P                  ! ^4      pV\        V 4      8  d   W;;,          W,          ,          uu&   R# R# rR   rS   rU   s   && r   rW   /TestInspect.test_inspect_sass_lazy.<locals>.add{   rY   r   rN   rW   N)r7   
   )	r   r'   nparangeastyper   r   rK   rZ   )r   rW   r   r   	signatures   &    r   test_inspect_sass_lazy"TestInspect.test_inspect_sass_lazyy   s    	4	 	 
!	
 IIbM  *IIbM  ,E
13Z.	UC,<,<Y,GHr   z@Missing nvdisasm exception only generated when it is not presentc                2   \         P                  ! \        R ,          34      R 4       pV P                  \        4      ;_uu_ 4       pVP                  4        RRR4       V P                  R\        XP                  4      4       R#   + '       g   i     L7; i)rN   c                     ^ V ^ &   R# )r   Nr   )r   s   &r   f9TestInspect.test_inspect_sass_nvdisasm_missing.<locals>.f   s    AaDr   Nznvdisasm has not been found)	r   r'   r   assertRaisesRuntimeErrorrZ   r*   str	exception)r   rj   raisess   &  r   "test_inspect_sass_nvdisasm_missing.TestInspect.test_inspect_sass_nvdisasm_missing   sn     
73</	"	 
#	 |,,NN - 	3S9I9I5JK -,s   BB	z&nvdisasm needed for inspect_sass_cfg()c                    \         R ,          \        R ,          3p\        P                  ! V4      R 4       pV P	                  VP                  VR7      R4       R# )rN   c                     \         P                  ! ^4      pV\        V 4      8  d   W;;,          W,          ,          uu&   R# R# rR   rS   rU   s   && r   rW   .TestInspect.test_inspect_sass_cfg.<locals>.add   rY   r   )re   zdigraph\s*\w\s*{(.|\n)*\n}N)r   r   r   r'   rE   inspect_sass_cfgr[   s   &  r   test_inspect_sass_cfg!TestInspect.test_inspect_sass_cfg   sR    s|U3Z(	#	 
	
 	  3 /)	
r   r   N)__name__
__module____qualname____firstlineno__propertyr   r2   r=   rK   r   r\   rf   r   rq   rw   __static_attributes____classdictcell__)__classdict__s   @r   r   r   
   s     @ @@@+8Z$  ?@	C A	C ?@I AI  & 'L'L CD
 E
r   r   __main__)numpyrb   ior   numbar   r   r   r   r   numba.cuda.testingr	   r
   r   r   r   r   ry   mainr   r   r   <module>r      s\      5 5 57 7 CDV
, V
 EV
r zMMO r   