Ńņ !_äOc(@sšddkZddklZddkZddkZddkZddklZdZdZ de fd„ƒYZ d„Z d „Z d „Zd d d dddddddddddddddddgZdd d!d"d#d$d%d&d'd(d)d*d+d,gZdd d!d#d"d(d+gZd d d ddddddd$d%dddd dddddd"d!d#d(d)d*ddddd&d'd+d,g"ZgZeD]Zeed-q‘[ZgZeD]Zeed.q¶[Zd/d0d1gZd2d3d4d5d6d7d8d9d:d;g Zd<„Zd=„Zd>„Zd?„Zd@ZdA„ZdBdBdBdBdBdBdBdBdCdDdEdFdGdHdIdJgZ dKdLdMdNdOdPdQdRgZ!dSdTdUdVdPdBdBdBgZ"e"ddd…Z#dBdBdBdBdWdXdYdZd[d\dBdBg Z$dBdBdBdBdWdXdYdZd[d\dBdBdBdBdBdBgZ%d\d[d]d^dEd_dBdBdBdBdBdBdBdBdBdBgZ&e&ddd…Z'dSdTdUdVdPdBdBdBgdBgd`Z(da„Z)dS(bi’’’’N(tjoin(t CompileErrori itMismatchCAPIWarningcBseZRS((t__name__t __module__(((s=/usr/lib64/python2.6/site-packages/numpy/core/setup_common.pyR"scCsjddkl}|idƒ}|djotdƒ‚n|d|ƒi}t|ƒdjotStS(s7Return True if a released version of numpy is detected.i’’’’(t LooseVersions ../version.pysCould not get versiontvstringiN( tdistutils.versionRt get_versiontNonet ValueErrortversiontlentFalsetTrue(tconfigRtvtpv((s=/usr/lib64/python2.6/site-packages/numpy/core/setup_common.pyt is_released%s cCs‡t|dƒt|dƒg}tiid|ƒz:tdƒ}tdƒ}|i|iƒ}|iƒ}Wdtid=X|||fS(sgReturn current C API checksum and the recorded checksum for the given version of the C API version.snumpy_api_order.txtsufunc_api_order.txtitgenapit numpy_apiN(Rtsystpathtinsertt __import__t fullapi_hashtfull_apitget_versions_hash(t apiversiont codegen_dirt api_filestmRt curapi_hasht apis_hash((s=/usr/lib64/python2.6/site-packages/numpy/core/setup_common.pytget_api_versions1s    cCsSt||ƒ\}}||jp-d}ti|||||tftƒndS(s@Emits a MismacthCAPIWarning if the C API version needs updating.sAPI mismatch detected, the C API version numbers have to be updated. Current C api version is %d, with checksum %s, but recorded checksum for C API version %d in codegen_dir/cversions.txt is %s. If functions were added in the C API, you have to update C_API_VERSION in %s.N(R"twarningstwarnt__file__R(RRR tapi_hashtmsg((s=/usr/lib64/python2.6/site-packages/numpy/core/setup_common.pytcheck_api_versionDs  tsintcosttantsinhtcoshttanhtfabstfloortceiltsqrttlog10tlogtexptasintacostatantfmodtmodftfrexptldexptexpm1tlog1ptacoshtasinhtatanhtrintttrunctexp2tlog2thypottatan2tpowtcopysignt nextaftertftlscomplex doubles complex floatscomplex long doubletcrealtcimagtcabstcargtcexptcsqrttclogtccostcsintcpowcCsd|iƒS(NsHAVE_%s(tupper(tname((s=/usr/lib64/python2.6/site-packages/numpy/core/setup_common.pyt fname2defuscCs|iddƒ}|iƒS(Nt t(treplaceRW(tsymboltdefine((s=/usr/lib64/python2.6/site-packages/numpy/core/setup_common.pytsym2defxscCs|iddƒ}|iƒS(NRZt_(R\RW(R]R^((s=/usr/lib64/python2.6/site-packages/numpy/core/setup_common.pyttype2def|scCse|iƒthdd6}|i|dddƒ\}}ztt|ƒƒ}|SWd|iƒXdS(Ns long doublettypetc(t_check_compilertLONG_DOUBLE_REPRESENTATION_SRCt_compileR tlong_double_representationtpyodt_clean(tcmdtbodytsrctobjectRb((s=/usr/lib64/python2.6/site-packages/numpy/core/setup_common.pyt check_long_double_representations sA /* "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' } }; c Csżg}t|dƒ}zÖg}|iƒD]+}|tttti|ƒdƒƒƒq)~}x†tdt|ƒdƒD]l}dtt|ƒƒg}|ig}|||d!D]} |d| q±~ƒ|i di |ƒƒqvW|SWd|i ƒXdS(sžPython 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 Note ---- We only implement enough to get the necessary information for long double representation, this is not intended as a compatible replacement for od. triis%07ds%03dRZN( topentreadtinttocttbinasciitb2a_hextrangeR textendtappendRtclose( tfilenametouttfidt_[1]totyotitlinet_[2]Rc((s=/usr/lib64/python2.6/site-packages/numpy/core/setup_common.pyRhŸsE7t000t001t043t105t147t211t253t315t357t376t334t272t230t166t124t062t020t301t235t157t064t240t242t171t353t031t300t326t363t100icCsØdgd}d}x]|D]U}xL|iƒdD]:}|idƒ|i|ƒ|dtjo ti|ƒ}|d tdjo|dd!tjodSqk|d td joh|d d!tjod S|d d!t jod S|d d!t jod S|d d!t jod Sqk|d tjo6|dd!t jodS|dd!t jodSqkq1q1WqW|dj otd|ƒ‚ntd|ƒ‚dS(sSGiven a binary dump as given by GNU od -b, look for long double representation.R[i iiių’’’i itINTEL_EXTENDED_12_BYTES_LEitINTEL_EXTENDED_16_BYTES_LEt IEEE_QUAD_BEt IEEE_QUAD_LEtDOUBLE_DOUBLE_BEitIEEE_DOUBLE_LEtIEEE_DOUBLE_BEsUnrecognized format (%s)sCould not lock sequences (%s)N(R tsplittpopRxt _AFTER_SEQtcopyt _BEFORE_SEQt_INTEL_EXTENDED_12Bt_INTEL_EXTENDED_16Bt_IEEE_QUAD_PREC_BEt_IEEE_QUAD_PREC_LEt_DOUBLE_DOUBLE_BEt_IEEE_DOUBLE_LEt_IEEE_DOUBLE_BER (tlinesRqtsawRtw((s=/usr/lib64/python2.6/site-packages/numpy/core/setup_common.pyRgĶs<      (*Rtos.pathRR#R«Rttdistutils.ccompilerRt C_ABI_VERSIONt C_API_VERSIONtWarningRRR"R(tMANDATORY_FUNCStOPTIONAL_STDFUNCStOPTIONAL_STDFUNCS_MAYBEt C99_FUNCSR}RKtC99_FUNCS_SINGLER‚tC99_FUNCS_EXTENDEDtC99_COMPLEX_TYPEStC99_COMPLEX_FUNCSRYR_RaRnReRhR¬RŖR³R²R­R®RÆR°R±Rg(((s=/usr/lib64/python2.6/site-packages/numpy/core/setup_common.pytsd        %%