
    Ph>                     @    d dl Z d dlZd dlZd dlmZmZ  G d d      Zy)    N)assert_array_equalIS_PYPYc                      e Zd Zej                  j                  ed      d        Zd Zd Z	ej                  j                  ed      d        Z
ej                  j                  dej                  ej                  ej                  ej                   ej"                  ej$                  ej&                  ej(                  ej*                  ej,                  ej.                  ej0                  ej2                  ej4                  g      d        Zd	 Zd
 Zd Zej                  j                  d ed            d        Z d Z!d Z"d Z#d Z$d Z%d Z&y)
TestDLPackzPyPy can't get refcounts.)reasonc                     t        j                  d      }|j                         }t        j                  |      dk(  sJ ~t        j                  |      dk(  sJ y N         )nparange
__dlpack__sysgetrefcountselfxys      gC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\numpy/core/tests/test_dlpack.pytest_dunder_dlpack_refcountz&TestDLPack.test_dunder_dlpack_refcount	   sK    IIaLLLNq!Q&&&q!Q&&&    c                     t        j                  d      }|j                  d        t        j                  t
              5  |j                  d       d d d        y # 1 sw Y   y xY w)Nr
   )stream   )r   r   r   pytestraisesRuntimeErrorr   r   s     r   test_dunder_dlpack_streamz$TestDLPack.test_dunder_dlpack_stream   sC    IIaL	D!]]<(LLL" )((s   AA&c                 0   t        j                  dt         j                  fdt         j                  fg      }t        j                  d|      }|d   }t        j                  t              5  t        j                  |       d d d        y # 1 sw Y   y xY w)Nintchar)r
   dtype)	r   r%   int32int8zerosr   r   BufferErrorfrom_dlpack)r   dtr   zs       r   %test_strides_not_multiple_of_itemsizez0TestDLPack.test_strides_not_multiple_of_itemsize   sd    XXrxx(6277*;<=HHT$eH]];'NN1 (''s   -BBc                     t        j                  d      }t        j                  |      }t        j                  |      dk(  sJ ~t        j                  |      dk(  sJ y r	   )r   r   r*   r   r   r   s      r   test_from_dlpack_refcountz$TestDLPack.test_from_dlpack_refcount    sN    IIaLNN1q!Q&&&q!Q&&&r   r%   c                     t        j                  d      j                  |      }t        j                  |      }|j                  |j                  k(  sJ t        ||       y Nr
   )r   r   astyper*   r%   r   )r   r%   r   r   s       r   test_dtype_passthroughz!TestDLPack.test_dtype_passthrough(   sJ     IIaL&NN1ww!''!!!1a r   c                     t        j                  t        j                  d            }t        j                  t
              5  t        j                  |       d d d        y # 1 sw Y   y xY w)Nz
2021-05-27)r   asarray
datetime64r   r   r)   r*   r   s     r   test_invalid_dtypezTestDLPack.test_invalid_dtype6   s=    JJr}}\23]];'NN1 (''s   A!!A*c                     t        j                  d      j                         }t        j                  d|      }t	        j
                  t              5  t        j                  |       d d d        y # 1 sw Y   y xY w)Nz=i8r
   r$   )r   r%   newbyteorderr   r   r   r)   r*   )r   r+   r   s      r   test_invalid_byte_swappingz%TestDLPack.test_invalid_byte_swapping<   sL    XXe_))+IIar"]];'NN1 (''s   A33A<c                     t        j                  d      j                  d      }|d   }t        |t        j                  |             |d d df   }t        |t        j                  |             |dd d f   }t        |t        j                  |             |d   }t        |t        j                  |             t        j
                  |      j                         }t        |t        j                  |             y )N   )r
   r
   r   r   )r   r   reshaper   r*   diagonalcopy)r   r   y1y2y3y4y5s          r   test_non_contiguouszTestDLPack.test_non_contiguousC   s    IIbM!!&)qT2r~~b12q!tW2r~~b12q!tW2r~~b12qT2r~~b12[[^  "2r~~b12r   ndim!   c                     d|z  }t        j                  |t         j                        }|t        j                  |      j                  k(  sJ y )N)r   r$   )r   r(   float64r*   shape)r   rF   rJ   r   s       r   test_higher_dimszTestDLPack.test_higher_dimsU   s<    tHHU"**-q)/////r   c                     t        j                  d      }|j                         dk(  sJ t        j                  |      }|j                         dk(  sJ |d d d   }|j                         dk(  sJ y )Nr
   )r   r   r   )r   r   __dlpack_device__r*   )r   r   r   r,   s       r   test_dlpack_devicezTestDLPack.test_dlpack_device\   so    IIaL""$...NN1""$...ccF""$...r   c                 X    t        j                  d      }|j                         }t        r1   )r   r   r   r   )r   r   _s      r   dlpack_deleter_exceptionz#TestDLPack.dlpack_deleter_exceptiond   s     IIaLLLNr   c                     t        j                  t              5  | j                          d d d        y # 1 sw Y   y xY w)N)r   r   r   rQ   )r   s    r    test_dlpack_destructor_exceptionz+TestDLPack.test_dlpack_destructor_exceptioni   s&    ]]<())+ )((s   4=c                     t        j                  d      }d|j                  _        t	        j
                  t              5  |j                          d d d        y # 1 sw Y   y xY w)Nr
   F)r   r   flags	writeabler   r   r)   r   r   s     r   test_readonlyzTestDLPack.test_readonlym   s<    IIaL!]];'LLN (''s    AA#c                 p    t        j                  d      }t        j                  |      }t        ||       y )Ng      ?)r   arrayr*   r   r   s      r   
test_ndim0zTestDLPack.test_ndim0s   s'    HHSMNN11a r   c           	          t        j                  dddt        j                  dt         j                        d      }t        j                  |      }t        ||       y )Nf8)
   r
   r   )   P      i  r$   F)r%   rJ   stridesbufferorder)r   ndarrayonesuint8r*   r   r   s      r   test_size1dims_arraysz TestDLPack.test_size1dims_arraysx   sC    JJTZ ggd"((;3HNN11a r   N)'__name__
__module____qualname__r   markskipifr   r   r    r-   r/   parametrizer   bool_r'   int16r&   int64rg   uint16uint32uint64float16float32rI   	complex64
complex128r3   r7   r:   rE   rangerK   rN   rQ   rS   rW   rZ   rh    r   r   r   r      s7   [[(CD' E'# [[(CD' E' [[W

288RXX
"))RYY		


BJJ


bmm' !!3$ [[VU2Y/0 00/
,!
!r   r   )r   r   numpyr   numpy.testingr   r   r   rz   r   r   <module>r}      s    
   5t! t!r   