
    
9j
                    P    S SK Jr  S SKrS SKJr  Sr " S S5      r " S S5      rg)	    )annotationsN)cuda   c                  0    \ rS rSr SS jr\S 5       rSrg)!DummyObjectWithCudaArrayInterface
   Nc                   U[        [        [        S-   5      5      ;   d   eS U l        [	        U[
        R                  5      (       a  Xl        O!Uu  U l        U l        U l	        U l
        U l        X l        X0l        X@l        XPl        g )N   )tuplerange max_cuda_array_interface_versiona
isinstancecupyndarrayshapestridestypestrdescrdataverinclude_stridesmaskstream)selfr   r   r   r   r   s         X/home/wildlama/miniconda3/lib/python3.13/site-packages/cupy/testing/_protocol_helpers.py__init__*DummyObjectWithCudaArrayInterface.__init__   sn     eE"B1"DEFFFFa&&FLMIDJdlDJ	.	    c                   U R                   b  U R                   R                  U R                   R                  R                  U R                   R                  R                  U R                   R
                  R                  S4U R                  S.nU R                   R                  R                  (       a=  U R                  SL a  U R                   R                  US'   OU R                  c  S US'   OOU R                   R                  US'   OoU R                  U R                  U R                  U R
                  S4U R                  S.nU R                  SL a  U R                  US'   OU R                  c  S US'   O U R                  b  U R                  US'   U R                  b  U R                  [        R                   R"                  L a  [        R$                  R&                  US'   U$ [        R$                  R(                  (       dF  U R                  [        R                   R*                  L a  [        R$                  R,                  US'   U$ U R                  R                  US'   U$ )NF)r   r   r   r   versionTr   r   r   )r   r   dtypestrr   r   ptrr   flagsc_contiguousr   r   r   r   r   r   StreamnullruntimestreamLegacyis_hipptdsstreamPerThread)r   descs     r   __cuda_array_interface__:DummyObjectWithCudaArrayInterface.__cuda_array_interface__   s   6666<<++++%088D vv||((''4/&*ffnnDO))1&*DO"&&&..Y <<E*88D ##t+"&,,Y%%-"&Y99 99DL ;;"{{dkk...!%!:!:X
 	 ll))t{{dkk>N>N/N!%!=!=X  "&Xr   )
r   r   r   r   r   r   r   r   r   r   )r   FNN)__name__
__module____qualname____firstlineno__r   propertyr/   __static_attributes__ r   r   r   r   
   s"     BF , ,r   r   c                       \ rS rSrS rS rSrg)DummyObjectWithCuPyGetNDArrayJ   c                    Xl         g Nr   )r   r   s     r   r   &DummyObjectWithCuPyGetNDArray.__init__L   s    r   c                    U R                   $ r<   r=   )r   s    r   __cupy_get_ndarray__2DummyObjectWithCuPyGetNDArray.__cupy_get_ndarray__O   s    vvr   r=   N)r1   r2   r3   r4   r   r@   r6   r7   r   r   r9   r9   J   s    r   r9   )
__future__r   r   r   r   r   r9   r7   r   r   <module>rC      s+    "   $%  = =@ r   