{VtddlZddlZddlZddlZddlmZdZdZGddeZ dZ dZ iZ d Z d D]wZeejejez 5ZeD]8Zed res-e e9 dddn #1swxYwYxgd Zd gZgdZddgZddgZddgZgdZgdZgdZgdZ gdZ!dZ"dZ#dZ$dZ%dZ&dZ'gd Z(gd!Z)gd"Z*e*ddd#Z+gd$Z,gd%Z-gd&Z.gd'Z/e/ddd#Z0gd"d(gd)zzZ1gd*d(gd)zzZ2d+Z3d,Z4dS)-N)mingw32i ceZdZdS)MismatchCAPIErrorN)__name__ __module__ __qualname__k/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/numpy/core/setup_common.pyrr;sDr rc0tjd| td}td}||j}|}tjd=n#tjd=wxYw|||fS)z Return current C API checksum and the recorded checksum. Return current C API checksum and the recorded checksum for the given version of the C API version. rgenapi numpy_api)syspathinsert __import__ fullapi_hashfull_apiget_versions_hash) apiversion codegen_dirmr curapi_hash apis_hashs r get_api_versionsr?sHOOA{### x {++ nnY%788 '')) HQKKCHQK  *- --s A A<<B c ~t||\}}||ks#d|d|d|dtd }t|dS)z@Emits a MismatchCAPIWarning if the C API version needs updating.z^API mismatch detected, the C API version numbers have to be updated. Current C api version is z, with checksum z=, but recorded checksum in core/codegen_dir/cversions.txt is zL. If functions were added in the C API, you have to update C_API_VERSION in z. Please make sure that new additions are guarded with MinVersion() to make them unavailable when wishing support for older NumPy versions.N)r__file__r)rrrapi_hashmsgs r check_api_versionr!Ts,ZEEK ( " " + + +.9 + +AI + + $, + + + $$$ # "r c0|d\}}}|dd}|dd}d|dD}dd |Dt|<dS) N()r c6g|]}|Sr )strip.0args r zset_sig..rs 3 3 3CCIIKK 3 3 3r ,z, c3 K|] }d|zV dS)z(%s){0}Nr r)s r zset_sig..ts&(I(ISS(I(I(I(I(I(Ir ) partition rpartitionsplitjoinFUNC_CALL_ARGS)sigprefix_argsfuncnames r set_sigr:nsmmC((OFAt ??3   "D  %%b)H 3 34::c?? 3 3 3D#yy(I(ID(I(I(IIIN8r )zfeature_detection_locale.hzfeature_detection_math.hzfeature_detection_cmath.hzfeature_detection_misc.hzfeature_detection_stdio.h#)(sincostansinhcoshtanhfabsfloorceilsqrtlog10logexpasinacosatanfmodmodffrexpldexpexpm1log1pacoshasinhatanhrinttruncexp2copysign nextafterstrtollstrtoullcbrtlog2powhypotatan2crealcimagconj strtold_l)ftellofseeko fallocate backtracemadvise__threadz__declspec(thread)rerf)zcomplex doublez complex floatzcomplex long double)cabscacoscacoshcargcasincasinhcatancatanhcexpclogcpowcsqrtcsincsinhccosccoshctanctanh) z xmmintrin.hz emmintrin.hz immintrin.hz features.hz xlocale.hzdlfcn.hz execinfo.hz libunwind.hz sys/mman.h))__builtin_isnan5.)__builtin_isinfr~)__builtin_isfiniter~)__builtin_bswap325u)__builtin_bswap64r)__builtin_expectz5, 0)__builtin_mul_overflowz(long long)5, 5, (int*)5)__builtin_prefetchz(float*)0, 0, 3))z)__attribute__((optimize("unroll-loops")))attribute_optimize_unroll_loops)z__attribute__((optimize("O3")))attribute_optimize_opt_3)z__attribute__((optimize("O2")))attribute_optimize_opt_2)z__attribute__((nonnull (1)))attribute_nonnullc0d|zS)NzHAVE_%s)upper)names r fname2defrs tzz|| ##r cV|dd}|S)Nr%replacersymboldefines r sym2defrs# ^^C $ $F <<>>r cV|dd}|S)Nr%r7rrs r type2defrs# ^^C % %F <<>>r c|tddiz}tjdkrFt s8 |jjdn#ttf$rYnwxYwtjdkro|jj drPd|jj vrB|jj dd}|j|||||d z ||ddd \}} t!t#|}||S#t$r| d d }|dz }||ddd \}}|jd|j|gdt!t#d}|cY|SwxYw#|wxYw)Ntypez long doublewin32z/GLintelz-ipoz -iporz -shared)compiler compiler_so compiler_cxx linker_exe linker_socstructzvolatile structz)int main(void) { return foo.before[0]; } _configtest)_check_compilerLONG_DOUBLE_REPRESENTATION_SRCrplatformrrcompile_optionsremoveAttributeError ValueError compiler_type startswithcc_exerset_executables_compilelong_double_representationpyod_clean temp_filesappendlink_executable)cmdbody newcompilersrcobjltypes r check_long_double_representationrs )V],C CD  |wwyy  L ( / / 6 6 6 6 +    D  ,' ! ! *55g>> "#,---l)11'2>>  $$ #$"!J. %   ||D$c22HC*49955     ||H&788 <<<<dD#66S m,,, $$cUM:::*4 +>+>??    s7A A43A4EBG/G2.G//G22HaA /* "before" is 16 bytes to ensure there's no padding between it and "x". * We're not expecting any "long double" bigger than 16 bytes or with * alignment requirements stricter than 16 bytes. */ typedef %(type)s test_type; struct { char before[16]; test_type x; char after[8]; } foo = { { '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\001', '\043', '\105', '\147', '\211', '\253', '\315', '\357' }, -123456789.0, { '\376', '\334', '\272', '\230', '\166', '\124', '\062', '\020' } }; cg}t|d5}d|D}dddn #1swxYwYtdt|dD]|}dt t |ddzg}|d|||dzD|d |}|S) aPython implementation of the od UNIX utility (od -b, more exactly). Parameters ---------- filename : str name of the file to get the dump from. Returns ------- out : seq list of lines of od output Notes ----- We only implement enough to get the necessary information for long double representation, this is not intended as a compatible replacement for od. rbc<g|]}t|ddS)N)oct)r*os r r,zpyod..4s&...as1vvabbz...r Nrz%07drc2g|]}dt|zS)z%03d)int)r*rs r r,zpyod..7s":::Vc!ff_:::r r%) openreadrangelenrrextendrr3)filenameoutfidyo2ilines r rr s$ C h  /..388::.../////////////// 1c#hh # ###SVVABBZ() ::c!AbD&k:::;;; 388D>>"""" Js>AA)000rrrrrrr001043105147211253315357)376334272230166124062020)301235157064rrrrr&) rrrr240242171353031300rr)rrrrrrrrrrrrrrrr) rrrrrrrrrrrr)rr326363r100rrrrrrrrrrr)rrrrrrrrcdgdz}d}|D]}|ddD]p}|d|||ddtkr/t j|}|ddt ddkr/|ddt krd S|ddtkrd S|dd t d dkru|d dtkrd S|d dtkrd S|d dtkrdS|d dtkrdS|d dtkrdS/|ddt kr.|ddtkrdS|ddtkrdSr|td|ztd|z)zSGiven a binary dump as given by GNU od -b, look for long double representation.r Nri INTEL_EXTENDED_12_BYTES_LEMOTOROLA_EXTENDED_12_BYTES_BErINTEL_EXTENDED_16_BYTES_LE IEEE_QUAD_BE IEEE_QUAD_LEIBM_DOUBLE_DOUBLE_LEIBM_DOUBLE_DOUBLE_BErIEEE_DOUBLE_LEIEEE_DOUBLE_BEzUnrecognized format (%s)zCould not lock sequences (%s))r2popr _AFTER_SEQcopy _BEFORE_SEQ_INTEL_EXTENDED_12B_MOTOROLA_EXTENDED_12B_INTEL_EXTENDED_16B_IEEE_QUAD_PREC_BE_IEEE_QUAD_PREC_LE_IBM_DOUBLE_DOUBLE_LE_IBM_DOUBLE_DOUBLE_BE_IEEE_DOUBLE_LE_IEEE_DOUBLE_BEr)linesrsawrws r rrPs/ 4"9D C%0%0abb!" 0" 0A HHQKKK KKNNNBCCyJ&&ioo9 ABB//BrE{&999;;;;BrE{&<<<>>>>="1"XQRR00AbDz%888;;;;ad'999-~~~ad'999-~~~ad'<<<5555ad'<<<5555=#2#Y+--BrE{o55////be77////E" 0H 3c9:::83>???r c||tjddd}|sdS|tjddd}| S)a On our arm CI, this fails with an internal compilation error The failure looks like the following, and can be reproduced on ARM64 GCC 5.4: : In function 'right_shift': :4:20: internal compiler error: in expand_shift_1, at expmed.c:2349 ip1[i] = ip1[i] >> in2; ^ Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Compiler returned: 1 This function returns True if this compiler bug is present, and we need to turn off optimization for the function zF __attribute__((optimize("O3"))) void right_shift() {} NFao typedef long the_type; /* fails also for unsigned and long long */ __attribute__((optimize("O3"))) void right_shift(the_type in2, the_type *ip1, int n) { for (int i = 0; i < n; i++) { if (in2 < (the_type)sizeof(the_type) * 8) { ip1[i] = ip1[i] >> in2; } } } )r try_compiletextwrapdedent)r has_optimizeno_errs r -check_for_right_shift_internal_compiler_errorrs$??8?4 $ $ DL u __X_ .   D  F:r )5rpathlibrrnumpy.distutils.misc_utilr C_ABI_VERSION C_API_VERSIONrrrr!r4r:filerPathrparentfrrr(MANDATORY_FUNCSOPTIONAL_LOCALE_FUNCSOPTIONAL_FILE_FUNCSOPTIONAL_MISC_FUNCSOPTIONAL_VARIABLE_ATTRIBUTESOPTIONAL_FUNCS_MAYBEC99_COMPLEX_TYPESC99_COMPLEX_FUNCSOPTIONAL_HEADERSOPTIONAL_INTRINSICSOPTIONAL_FUNCTION_ATTRIBUTESrrrrrrrrr r rrrrrr rrrr r r r)sz  ------" 8         ...*%%%0JJJ   D lgl8$$+d2 3 3q  Ds## ::<<  GDMMMM     % 777"I.!+,@A h       " " "$$$ ---^"$8FFF E E E JJJ!$$B$'333OOODDDNNN'"-QQQWq[!QQQWq[!8@8@8@v#####s