a :jgÁ ã@s:ddlZddlZddlZddlmZmZGdd„dƒZdS)éN)Úassert_array_equalÚIS_PYPYc@süeZdZejjedddd„ƒZdd„Zdd„Z ejjeddd d „ƒZ ej  d e j e je je je je je je je je je je je je jg¡d d „ƒZdd„Zdd„Zdd„Zej  dedƒ¡dd„ƒZ dd„Z!dd„Z"dd„Z#dd„Z$d d!„Z%d"d#„Z&d$S)%Ú TestDLPackzPyPy can't get refcounts.)ÚreasoncCs<t d¡}| ¡}t |¡dks$J‚~t |¡dks8J‚dS©Nééé)ÚnpÚarangeÚ __dlpack__ÚsysÚ getrefcount©ÚselfÚxÚy©rúG/usr/local/lib/python3.9/site-packages/numpy/_core/tests/test_dlpack.pyÚtest_dunder_dlpack_refcount s  z&TestDLPack.test_dunder_dlpack_refcountcCsPt d¡}|jddt t¡|jddWdƒn1sB0YdS)Nr)Ústreamé)r r r ÚpytestÚraisesÚ RuntimeError©rrrrrÚtest_dunder_dlpack_streams   z$TestDLPack.test_dunder_dlpack_streamcCsht dtjfdtjfg¡}tjd|d}|d}t t¡t |¡Wdƒn1sZ0YdS)NÚintÚchar)r©Údtype) r r Úint32Úint8ÚzerosrrÚ BufferErrorÚ from_dlpack)rÚdtrÚzrrrÚ%test_strides_not_multiple_of_itemsizes  z0TestDLPack.test_strides_not_multiple_of_itemsizecCs>t d¡}t |¡}t |¡dks&J‚~t |¡dks:J‚dSr)r r r%r rrrrrÚtest_from_dlpack_refcount s   z$TestDLPack.test_from_dlpack_refcountr cCs8t d¡ |¡}t |¡}|j|jks*J‚t||ƒdS©Nr)r r Zastyper%r r)rr rrrrrÚtest_dtype_passthrough(s z!TestDLPack.test_dtype_passthroughcCsHt t d¡¡}t t¡t |¡Wdƒn1s:0YdS)Nz 2021-05-27)r ZasarrayZ datetime64rrr$r%rrrrÚtest_invalid_dtype6s zTestDLPack.test_invalid_dtypecCsTt d¡ ¡}tjd|d}t t¡t |¡Wdƒn1sF0YdS)Nz=i8rr)r r Z newbyteorderr rrr$r%)rr&rrrrÚtest_invalid_byte_swapping<s z%TestDLPack.test_invalid_byte_swappingcCs¢t d¡ d¡}|d}t|t |¡ƒ|dd…df}t|t |¡ƒ|ddd…f}t|t |¡ƒ|d}t|t |¡ƒt |¡ ¡}t|t |¡ƒdS)Né)rrrr)r r Zreshaperr%ZdiagonalÚcopy)rrÚy1Úy2Zy3Zy4Zy5rrrÚtest_non_contiguousCszTestDLPack.test_non_contiguousÚndimé!cCs0d|}tj|tjd}|t |¡jks,J‚dS)N)rr)r r#Úfloat64r%Úshape)rr3r6rrrrÚtest_higher_dimsUszTestDLPack.test_higher_dimscCsVt d¡}| ¡dksJ‚t |¡}| ¡dks4J‚|ddd…}| ¡dksRJ‚dS)Nr)rrr )r r Z__dlpack_device__r%)rrrr'rrrÚtest_dlpack_device\s   zTestDLPack.test_dlpack_devicecCst d¡}| ¡}t‚dSr*)r r r r)rrÚ_rrrÚdlpack_deleter_exceptionds z#TestDLPack.dlpack_deleter_exceptioncCs6t t¡| ¡Wdƒn1s(0YdS)N)rrrr:)rrrrÚ test_dlpack_destructor_exceptionis z+TestDLPack.test_dlpack_destructor_exceptioncCsHt d¡}d|j_t t¡| ¡Wdƒn1s:0YdS)NrF)r r ÚflagsZ writeablerrr$r rrrrÚ test_readonlyms  zTestDLPack.test_readonlycCs"t d¡}t |¡}t||ƒdS)Ngð?)r Úarrayr%rrrrrÚ test_ndim0ss  zTestDLPack.test_ndim0cCs8tjdddtjdtjddd}t |¡}t||ƒdS)NZf8)é rr)ééPéièrÚF)r r6ÚstridesÚbufferÚorder)r ZndarrayZonesÚuint8r%rrrrrÚtest_size1dims_arraysxs  ÿ z TestDLPack.test_size1dims_arraysN)'Ú__name__Ú __module__Ú __qualname__rÚmarkZskipifrrrr(r)Z parametrizer Úboolr"Zint16r!Zint64rHZuint16Zuint32Zuint64Zfloat16Zfloat32r5Z complex64Z complex128r+r,r-r2Úranger7r8r:r;r=r?rIrrrrrs2   û  r)r rÚnumpyr Z numpy.testingrrrrrrrÚs