a :jg– ã @sÜddlmZddlZddlZddlZddlZddlZddlZddlZddl m Z m Z zddl Z ddl mZWney‚dZ Yn*0ddlmZdZe e¡e e¡kr¬dZ ejje duddZejd d d d „ƒZd d„Zdd„Zdd„Zdd„Zdd„Zdd„Z dd„Z!dd„Z"dd„Z#Gdd „d ƒZ$ej %d!ej& 'd"¡gej& 'd"¡ej& 'd#d$¡gej& 'd"¡ej& 'd"d#d"¡ej& 'd$d#d"¡gej& 'd"d$¡gd%ej& 'd$d$d$¡gg¡d&d'„ƒZ(d(d)„Z)d*d+„Z*d,d-„Z+d.d/„Z,d0d1„Z-dS)2é)ÚdatetimeN)Úassert_array_equalÚIS_WASM)Úversion)Ú_pep440z3.0.6zrequires cython)ÚreasonÚmodule)Úscopec Cs–trt d¡tj tj t¡dd¡}| d¡d}tj |ddt |dƒ}t |d ƒ.}|  d ¡|  d t j›d ¡Wdƒn1sŒ0Yzt d dg¡WntyÄt d¡Yn0t jdkròtjd dddd|t |ƒg|dntjd dd|t |ƒg|dztjgd¢|dWn\tjy€tdƒtdƒtd|›d|›d ƒtdƒtd|›ƒtdƒ‚Yn0t j t |ƒ¡dS)Nz No subprocessZexamplesÚcythonZ cython_testÚbuildT)Úexist_okzinterpreter-native-file.iniÚwz [binaries] z python = 'ú'Úmesonz --versionzNo usable 'meson' foundÚwin32Úsetupz--buildtype=releasez--vsenvz --native-file)Úcwd)rÚcompilez-vvz----------------zmeson build failed when doingz'meson setup --native-file ú z'meson compile -vv'zin )rÚpytestÚskipÚosÚpathÚjoinÚdirnameÚ__file__ÚmktempÚmakedirsÚstrÚopenÚwriteÚsysÚ executableÚ subprocessÚ check_callÚFileNotFoundErrorÚplatformÚCalledProcessErrorÚprintÚappend)Ztmpdir_factoryÚsrcdirÚ build_dirZ native_fileÚf©r-úG/usr/local/lib/python3.9/site-packages/numpy/_core/tests/test_cython.pyÚ install_tempsJ    2  ýü ÿþr/cCsŒddl}| t d¡¡sJ‚| t dd¡¡s2J‚| t dd¡¡sHJ‚| d¡rVJ‚| d¡rdJ‚| d¡rrJ‚| t dd¡¡rˆJ‚dS) NréÒÚnsÚNaTéÚfooÚnowÚs)ÚchecksZis_td64ÚnpÚ timedelta64Ú datetime64©r/r7r-r-r.Útest_is_timedelta64_objectLsr<cCsvddl}| t dd¡¡sJ‚| t dd¡¡s4J‚| d¡rBJ‚| d¡rPJ‚| d¡r^J‚| t d¡¡rrJ‚dS)Nrr0r1r2r3r4)r7Zis_dt64r8r:r9r;r-r-r.Útest_is_datetime64_objectYsr=cCs8ddl}t dd¡}| |¡}| d¡}||ks4J‚dS)Nrú 2016-01-01r1Úi8)r7r8r:Zget_dt64_valueÚview)r/r7Údt64ÚresultÚexpectedr-r-r.Útest_get_datetime64_valuees    rDcCs8ddl}t dd¡}| |¡}| d¡}||ks4J‚dS)Nré90Úhr?)r7r8r9Zget_td64_valuer@)r/r7Útd64rBrCr-r-r.Útest_get_timedelta64_valueps    rHcCsXddl}t dd¡}| |¡}d}||ks.J‚t dd¡}| |¡}d}||ksTJ‚dS)Nrr>r1é rErFé)r7r8r:Z get_dt64_unitr9)r/r7rArBrCrGr-r-r.Útest_get_datetime64_unit{s     rKcCsBddl}| d¡sJ‚| t d¡¡s*J‚| t d¡¡s>J‚dS)Nrr3)r7Ú is_integerr8Zint8Zuint64r;r-r-r.Útest_abstract_scalars‰srMcCs"ddl}| ¡t t¡usJ‚dS)Nr)r7Zget_default_integerr8ÚdtypeÚintr;r-r-r.Útest_default_intsrPcCs$ddl}| ¡t d¡jks J‚dS)NrZintc)r7Zget_ravel_axisr8ZiinfoÚminr;r-r-r.Útest_ravel_axis–srRc Cs8ddl}| ¡}dddddddddd œ }||ks4J‚dS) Nriæééér3é7iÄø) ÚyearÚmonthÚdayÚhourrQÚsecÚusZpsÚas)r7Z$convert_datetime64_to_datetimestruct)r/r7ÚresÚexpr-r-r.Ú)test_convert_datetime64_to_datetimestructœs÷ r`c@seZdZdd„Zdd„ZdS)ÚTestDatetimeStringscCs4ddl}tddddddƒ}| |¡}|dks0J‚dS) NriàéérIé-és2016-06-02T10:45:19)r7rZmake_iso_8601_datetime)Úselfr/r7ÚdtrBr-r-r.Útest_make_iso_8601_datetime²s z/TestDatetimeStrings.test_make_iso_8601_datetimecCs ddl}| ¡}|dksJ‚dS)Nré0)r7Zget_datetime_iso_8601_strlen)rfr/r7r^r-r-r.Ú!test_get_datetime_iso_8601_strlenºsz5TestDatetimeStrings.test_get_datetime_iso_8601_strlenN)Ú__name__Ú __module__Ú __qualname__rhrjr-r-r-r.ra±sraÚarraysrcrSr3écCsžddl}tj|Ž}|j| |¡ks&J‚|j| |¡ks:J‚|j| |¡ksNJ‚|j |  |¡ksbJ‚|j |  |¡ksvJ‚t dd„t|j| |¡ƒDƒƒsšJ‚dS)NrcSsg|]\}}|j|ju‘qSr-)Úbase©Ú.0ÚxÚyr-r-r.Ú Õsÿz)test_multiiter_fields..)r7r8Ú broadcastÚndimZget_multiiter_number_of_dimsÚsizeZget_multiiter_sizeZnumiterZget_multiiter_num_of_iteratorsÚshapeZget_multiiter_shapeÚindexZget_multiiter_current_indexÚallÚzipZitersZget_multiiter_iters)r/rnr7Zbcastr-r-r.Útest_multiiter_fieldsÂs  þÿr}cCs*ddl}t d¡}|j| |¡ks&J‚dS)Nrzi,O)r7r8rNÚflagsZget_dtype_flags)r/r7rNr-r-r.Útest_dtype_flagsÜs rcCs@ddl}Gdd„dƒ}| d¡dks(J‚| |ƒ¡dks.myintcSsdS)NrSr-)rfr-r-r.Ú__int__æsz%test_conv_intp..myint.__int__N)rkrlrmr€r-r-r-r.Úmyintåsrg@rS)r7Z conv_intp)r/r7rr-r-r.Útest_conv_intpâsr‚cCs„ddl}tj dd¡}t |¡}| |¡|jkrDt |j¡ksJnJ‚|  |¡|j krfdkslnJ‚|  |¡|j krˆdksŽnJ‚tj|dgd}|  |¡|j krºdksÀnJ‚|  |¡|jkrÜdksânJ‚tj|d d gd}|  |¡|jkrdksnJ‚tj|d gd}| |¡|jkrRt |j¡ksXnJ‚| |¡|jkrxdks~nJ‚|  |¡|j krždks¤nJ‚tj ddd¡}t ||g¡}| |¡|jkrâdksènJ‚| |¡|jkrd ksnJ‚|  |¡|j kr.dks4nJ‚td d„t| |¡|jƒDƒƒsZJ‚tdd„t| |¡|jƒDƒƒs€J‚dS)NrrSrcr3FZc_index)r~TÚbufferedZdelay_bufallocZ multi_indexé css|]\}}||uVqdS)Nr-rqr-r-r.Ú sz#test_npyiter_api..cSsg|]\}}t ||¡‘qSr-)r8Zallcloserqr-r-r.rusÿz$test_npyiter_api..)r7r8ÚrandomÚrandZnditerZget_npyiter_sizeZitersizeÚprodryZget_npyiter_ndimrwZnpyiter_has_indexZ has_indexZnpyiter_has_delayed_bufallocZhas_delayed_bufallocZnpyiter_has_multi_indexZhas_multi_indexZget_npyiter_nopZnopr{r|Zget_npyiter_operandsZoperandsZget_npyiter_itviewsZitviews)r/r7ÚarrÚitZarr2r-r-r.Útest_npyiter_apiîsH *"""þý þ ý.&&&&&ÿþÿr‹cCs$ddl}| ¡}t|t d¡ƒdS)Nr)r3rc)r7Zcompile_fillwithbyterr8Zones)r/r7r‰r-r-r.Útest_fillwithbytessrŒcCs:ddlm}tjddgdd}||ƒ|ddks6J‚dS)Nr)Úinc2_cfloat_structy$@$@ÚF)rNr3y(@(@)r7rr8Úarray)r/rr‰r-r-r.Ú test_complex"s r).rrÚshutilr#r!ÚtimerÚnumpyr8Z numpy.testingrrr ZCython.Compiler.VersionrZcython_versionÚ ImportErrorZ numpy._utilsrZrequired_versionÚparseÚVersionÚmarkZskipifZ pytestmarkZfixturer/r<r=rDrHrKrMrPrRr`raZ parametrizer†r‡r}rr‚r‹rŒrr-r-r-r.ÚsX      -     ($üþ  -