Current File : //usr/lib64/python2.7/site-packages/numpy/core/setup_common.pyo
�
E�`Qc"@s�ddlZddlmZddlZddlZddlZddlmZdZdZ	de
fd��YZd�Zd	�Z
d
�Zddd
dddddddddddddddddgZdd d!d"d#d$d%d&d'd(d)d*d+d,gZdd d!d#d"d(d+gZddd
ddddddd$d%dddd dddddd"d!d#d(d)d*ddddd&d'd+d,g"ZgeD]Zed-^q�ZgeD]Zed.^q�Zd/d0d1gZd2d3d4d5d6d7d8d9d:d;g
Zd<�Zd=�Zd>�Zd?�Zd@ZdA�ZdBdBdBdBdBdBdBdBdCdDdEdFdGdHdIdJgZdKdLdMdNdOdPdQdRgZdSdTdUdVdPdBdBdBgZ 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.7/site-packages/numpy/core/setup_common.pyR"scCsfddlm}|jd�}|dkr:td��n|d|�j}t|�dkrbtStS(s7Return True if a released version of numpy is detected.i����(tLooseVersions
../version.pysCould not get versiontvstringiN(	tdistutils.versionRtget_versiontNonet
ValueErrortversiontlentFalsetTrue(tconfigRtvtpv((s=/usr/lib64/python2.7/site-packages/numpy/core/setup_common.pytis_released%scCs�t|d�t|d�g}tjjd|�z:td�}td�}|j|j�}|j�}Wdtjd=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
apiversiontcodegen_dirt	api_filestmRtcurapi_hasht	apis_hash((s=/usr/lib64/python2.7/site-packages/numpy/core/setup_common.pytget_api_versions1scCsQt||�\}}||ksMd}tj|||||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.7/site-packages/numpy/core/setup_common.pytcheck_api_versionDstsintcosttantsinhtcoshttanhtfabstfloortceiltsqrttlog10tlogtexptasintacostatantfmodtmodftfrexptldexptexpm1tlog1ptacoshtasinhtatanhtrintttrunctexp2tlog2thypottatan2tpowtcopysignt	nextaftertftlscomplex doubles
complex floatscomplex long doubletcrealtcimagtcabstcargtcexptcsqrttclogtccostcsintcpowcCsd|j�S(NsHAVE_%s(tupper(tname((s=/usr/lib64/python2.7/site-packages/numpy/core/setup_common.pyt	fname2defuscCs|jdd�}|j�S(Nt t(treplaceRW(tsymboltdefine((s=/usr/lib64/python2.7/site-packages/numpy/core/setup_common.pytsym2defxscCs|jdd�}|j�S(NRZt_(R\RW(R]R^((s=/usr/lib64/python2.7/site-packages/numpy/core/setup_common.pyttype2def|scCse|j�tidd6}|j|ddd�\}}ztt|��}|SWd|j�XdS(Nslong doublettypetc(t_check_compilertLONG_DOUBLE_REPRESENTATION_SRCt_compileR	tlong_double_representationtpyodt_clean(tcmdtbodytsrctobjectRb((s=/usr/lib64/python2.7/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' }
};
csC�fd�}�fd�}tjddkr8|�S|�SdS(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.
    cs�g}t�d�}z�g|j�D]*}ttttj|�d���^q%}x~tdt|�d�D]d}dtt|��g}|jg|||d!D]}d|^q��|j	dj
|��qnW|SWd|j�XdS(Ntrbiis%07ds%03dRZ(topentreadtinttocttbinasciitb2a_hextrangeRtextendtappendRtclose(touttfidtotyotitlineRc(tfilename(s=/usr/lib64/python2.7/site-packages/numpy/core/setup_common.pyt_pyod2�s=/cs�g}t�d�}z�g|j�D]}t|�d^q%}x�tdt|�d�D]n}dtt|�d�g}|jg|||d!D]}dt|�^q��|jdj|��qZW|SWd|j	�XdS(NRoiiis%07ds%03dRZ(
RpRqRsRvRRrRwRxRRy(RzR{R|tyo2R~RRc(R�(s=/usr/lib64/python2.7/site-packages/numpy/core/setup_common.pyt_pyod3�s)5iiN(Rtversion_info(R�R�R�((R�s=/usr/lib64/python2.7/site-packages/numpy/core/setup_common.pyRh�s
t000t001t043t105t147t211t253t315t357t376t334t272t230t166t124t062t020t301t235t157t064t240t242t171t353t031t300t326t363t100icCs�dgd}d}xG|D]?}x6|j�dD]$}|jd�|j|�|dtkr1tj|�}|d tdkr�|dd!tkrRdSqU|d	 td	kr|d	d!tkr�d
S|d	d!t	kr�dS|d	d!t
kr�dS|d	d!tkrRd
SqU|d tkrU|dd!tkr8dS|dd!t
krRdSqUq1q1WqW|dk	r|td|��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
(tlinesRqtsawRtw((s=/usr/lib64/python2.7/site-packages/numpy/core/setup_common.pyRg�s8



((Rtos.pathRR#R�Rttdistutils.ccompilerRt
C_ABI_VERSIONt
C_API_VERSIONtWarningRRR"R(tMANDATORY_FUNCStOPTIONAL_STDFUNCStOPTIONAL_STDFUNCS_MAYBEt	C99_FUNCSRKtC99_FUNCS_SINGLEtC99_FUNCS_EXTENDEDtC99_COMPLEX_TYPEStC99_COMPLEX_FUNCSRYR_RaRnReRhR�R�R�R�R�R�R�R�R�Rg(((s=/usr/lib64/python2.7/site-packages/numpy/core/setup_common.pyt<module>sd									2