+
    :i                         R t ^ RIt^ RIHtHt  ! R R]P
                  R7      t ! R R]4      t ! R R	]4      t ! R
 R]4      t	]	3R lt
. ROtR# )zw
Hints to wrap Kernel arguments to indicate how to manage host-device
memory transfers before & after the kernel call.
N)typeofPurposec                   ^   a  ] tR t^
t o R t]P                  RR l4       t]R 4       t	Rt
V tR# )ArgHintc                    Wn         R # Nvalue)selfr	   s   &&M/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/cuda/args.py__init__ArgHint.__init__   s    
    c                    R# )z
:param stream: a stream to use when copying data
:param retr:
    a list of clean-up work to do after the kernel's been run.
    Append 0-arg lambdas to it!
:return: a value (usually an `DeviceNDArray`) to be passed to
    the kernel
N )r
   retrstreams   &&&r   	to_deviceArgHint.to_device   s     	r   c                J    \        V P                  \        P                  4      # r   )r   r	   r   argument)r
   s   &r   _numba_type_ArgHint._numba_type_   s    djj'"2"233r   r   N    )__name__
__module____qualname____firstlineno__r   abcabstractmethodr   propertyr   __static_attributes____classdictcell____classdict__s   @r   r   r   
   s8      		 	 4 4r   r   )	metaclassc                   *   a  ] tR t^t o RR ltRtV tR# )Inc                l   a ^RI Hp V! V P                  VR7      w  opVP                  V3R l4       S# )   auto_devicer   c                     < S # r   r   )devarys   r   <lambda>In.to_device.<locals>.<lambda>'   s    Fr   cudadrv.devicearrayr,   r	   append)r
   r   r   r,   _r/   s   &&&  @r   r   In.to_device    s1    4JJ	
 	N#r   r   Nr   r   r   r   r   r   r"   r#   r$   s   @r   r(   r(            r   r(   c                   *   a  ] tR t^+t o RR ltRtV tR# )Outc                   a aa ^RI Hp V! S P                  RSR7      w  opV'       d   VP                  VV V3R l4       S# )r*   r+   F)copyr   c                  >   < S P                  SP                  SR 7      # r-   copy_to_hostr	   r/   r
   r   s   r   r0   Out.to_device.<locals>.<lambda>3        3 3DJJv 3 Nr   r2   r
   r   r   r,   convr/   s   f&f  @r   r   Out.to_device,   s8    4"JJ KKNOr   r   Nr   r7   r$   s   @r   r:   r:   +   r8   r   r:   c                   *   a  ] tR t^7t o RR ltRtV tR# )InOutc                   a aa ^RI Hp V! S P                  SR7      w  opV'       d   VP                  VV V3R l4       S# )r*   r+   r-   c                  >   < S P                  SP                  SR 7      # r>   r?   rA   s   r   r0   !InOut.to_device.<locals>.<lambda>>   rC   r   r2   rD   s   f&f  @r   r   InOut.to_device8   s5    4"JJ KKNOr   r   Nr   r7   r$   s   @r   rH   rH   7   s      r   rH   c                 B    \        V \        4      '       d   V # V! V 4      # r   )
isinstancer   )r	   defaults   &&r   wrap_argrP   B   s    ug..5BGENBr   )r(   r:   rH   r   rP   )__doc__r   numba.core.typing.typeofr   r   ABCMetar   r(   r:   rH   rP   __all__r   r   r   <module>rU      sX     44 4*	 		' 	G  " Cr   