9Zc#@`s|ddlmZmZmZddlZddlZddlZddlZddlm Z dZ dZ de fdYZ dZd Zd Zd d d dddddddddddddddddgZdd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3gZd4d5d6gZdddddddddddg ZdddgZdPdQgZdd d!d#d"d(d+d-d.g Zd d d ddddddd$d%dddd dddddd"d!d#d(d)d*ddddd&d'd+d,d1g#ZgeD]ZedR^qZgeD]ZedS^q%ZdTdUdVgZdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdlgZdmZdnZdoZ dpZ!dqZ"drZ#dsdsdsdsdsdsdsdsdtdudvdwdxdydzd{gZ$d|d}d~dddddgZ%ddddddsdsdsgZ&e&dddZ'dsdsdsdsdddddddsdsg Z(dsdsdsdsdddddddsdsdsdsdsdsgZ)dddsdsdddddsdsdsdsg Z*dddddvddsdsdsdsdsdsdsdsdsdsgZ+e+dddZ,ddddddsdsdsgdsgdZ-dsdsdsdddddgdsgdZ.dZ/dS(i(tdivisiontabsolute_importtprint_functionN(tmingw32i i tMismatchCAPIWarningcB`seZRS((t__name__t __module__(((sJ/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/setup_common.pyR*scC`sfddlm}|jd}|dkr:tdn|d|j}t|dkrbtStS(s7Return True if a released version of numpy is detected.i(t LooseVersions ../version.pysCould not get versiontvstringiN( tdistutils.versionRt get_versiontNonet ValueErrortversiontlentFalsetTrue(tconfigRtvtpv((sJ/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/setup_common.pyt is_released-s cC`sitjjd|z:td}td}|j|j}|j}Wdtjd=X|||fS(s 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. itgenapit numpy_apiN(tsystpathtinsertt __import__t fullapi_hashtfull_apitget_versions_hash(t apiversiont codegen_dirtmRt curapi_hasht apis_hash((sJ/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/setup_common.pytget_api_versions9s    cC`sQt||\}}||ksMd}tj|||||tftndS(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((sJ/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/setup_common.pytcheck_api_versionNs  tsintcosttantsinhtcoshttanhtfabstfloortceiltsqrttlog10tlogtexptasintacostatantfmodtmodftfrexptldexptexpm1tlog1ptacoshtasinhtatanhtrintttrunctexp2tlog2thypottatan2tpowtcopysignt nextaftertftellotfseekotstrtolltstrtoulltcbrtt strtold_lt fallocates xmmintrin.hs emmintrin.hs features.ht__builtin_isnans5.t__builtin_isinft__builtin_isfinitet__builtin_bswap32t5ut__builtin_bswap64t__builtin_expects5, 0t__builtin_mul_overflows 5, 5, (int*)5t _mm_load_pss (float*)0t _mm_prefetchs(float*)0, _MM_HINT_NTAt _mm_load_pds (double*)0t__builtin_prefetchs(float*)0, 0, 3s)__attribute__((optimize("unroll-loops")))tattribute_optimize_unroll_loopss__attribute__((optimize("O3")))tattribute_optimize_opt_3s__attribute__((nonnull (1)))tattribute_nonnullt__threads__declspec(thread)tftlscomplex doubles complex floatscomplex long doubletcabstcacostcacoshtcargtcasintcasinhtcatantcatanhtccostccoshtcexptcimagtclogtconjtcpowtcprojtcrealtcsintcsinhtcsqrttctantctanhcC`sd|jS(NsHAVE_%s(tupper(tname((sJ/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/setup_common.pyt fname2defscC`s|jdd}|jS(Nt t(treplaceR{(tsymboltdefine((sJ/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/setup_common.pytsym2defscC`s|jdd}|jS(NR~t_(RR{(RR((sJ/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/setup_common.pyttype2defscC`s=|jtidd6}tjdkrht rhy|jjjdWqhtt fk rdqhXn|j |ddd\}}zyt t |}|SWnt k r)|jdd}|d7}|j |ddd\}}|jjd |jj|gd t t d }|SXWd|jXdS( Ns long doublettypetwin32s/GLtctstructsvolatile structsint main(void) { return 0; } t _configtest(t_check_compilertLONG_DOUBLE_REPRESENTATION_SRCRtplatformRtcompilertcompile_optionstremovetAttributeErrorR t_compileR tlong_double_representationtpyodRt temp_filestappendtlink_executablet_clean(tcmdtbodytsrctobjtltype((sJ/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/setup_common.pyt check_long_double_representations*    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`sCfd}fd}tjddkr8|S|SdS(sPython 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. c`sg}td}zg|jD]*}ttttj|d^q%}x~tdt|dD]d}dtt|g}|jg|||d!D]}d|^q|j dj |qnW|SWd|j XdS(Ntrbiis%07ds%03dR~( topentreadtinttocttbinasciitb2a_hextrangeRtextendRtjointclose(touttfidtotyotitlineR(tfilename(sJ/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/setup_common.pyt_pyod2s=/c`sg}td}zg|jD]}t|d^q%}xtdt|dD]n}dtt|dg}|jg|||d!D]}dt|^q|jdj|qZW|SWd|j XdS(NRiiis%07ds%03dR~( RRRRRRRRRR(RRRtyo2RRR(R(sJ/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/setup_common.pyt_pyod3 s)5iiN(Rt version_info(RRR((RsJ/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/setup_common.pyRs t000t001t043t105t147t211t253t315t357t376t334t272t230t166t124t062t020t301t235t157t064it240t242t171t353t031t300t326t363t100icC`sdgd}d}xu|D]m}xd|jdD]R}|jd|j||dtkr1tj|}|d tdkr|dd!tkrdS|dd!tkrd Sq|d td kr?|d d!t krd S|d d!t krd S|d d!t krd S|d d!t kr%dS|d d!t krdSq|d tkr|dd!tkrfdS|dd!tkrdSqq1q1WqW|dk rtd|ntd|dS(sSGiven a binary dump as given by GNU od -b, look for long double representation.Ri iiii itINTEL_EXTENDED_12_BYTES_LEtMOTOROLA_EXTENDED_12_BYTES_BEitINTEL_EXTENDED_16_BYTES_LEt IEEE_QUAD_BEt IEEE_QUAD_LEtDOUBLE_DOUBLE_BEtDOUBLE_DOUBLE_LEitIEEE_DOUBLE_LEtIEEE_DOUBLE_BEsUnrecognized format (%s)sCould not lock sequences (%s)N(R tsplittpopRt _AFTER_SEQtcopyt _BEFORE_SEQt_INTEL_EXTENDED_12Bt_MOTOROLA_EXTENDED_12Bt_INTEL_EXTENDED_16Bt_IEEE_QUAD_PREC_BEt_IEEE_QUAD_PREC_LEt_DOUBLE_DOUBLE_BEt_DOUBLE_DOUBLE_LEt_IEEE_DOUBLE_LEt_IEEE_DOUBLE_BER (tlinesRtsawRtw((sJ/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/setup_common.pyR2s@     (RSs5.(RTs5.(RUs5.(RVRW(RXRW(RYs5, 0(RZs 5, 5, (int*)5(R[s (float*)0s xmmintrin.h(R\s(float*)0, _MM_HINT_NTAs xmmintrin.h(R]s (double*)0s emmintrin.h(R^s(float*)0, 0, 3(s)__attribute__((optimize("unroll-loops")))R_(s__attribute__((optimize("O3")))R`(s__attribute__((nonnull (1)))Ra(0t __future__RRRRR$RRtnumpy.distutils.misc_utilRt C_ABI_VERSIONt C_API_VERSIONtWarningRRR#R)tMANDATORY_FUNCStOPTIONAL_STDFUNCStOPTIONAL_HEADERStOPTIONAL_INTRINSICStOPTIONAL_FUNCTION_ATTRIBUTEStOPTIONAL_VARIABLE_ATTRIBUTEStOPTIONAL_STDFUNCS_MAYBEt C99_FUNCSRctC99_FUNCS_SINGLEtC99_FUNCS_EXTENDEDtC99_COMPLEX_TYPEStC99_COMPLEX_FUNCSR}RRRRRRRRRRRRRRRRR(((sJ/opt/alt/python27/lib64/python2.7/site-packages/numpy/core/setup_common.pyts                 / 3