Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/site-packages/numpy/core/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/site-packages/numpy/core/__pycache__/setup.cpython-35.pyc



(��^c��@s�ddlmZmZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZddl
mZddlmZddlmZmZddlmZdd	lTejjd
d�dkZejjd
d�dkZeo
eZGdd�de�Zdd�Zdd�Zdd�Zdd�Z dd�Z!dd�Z"dd�Z#dd�Z$d d!�Z%d"d#�Z&d$dd%d&�Z'e(d'kr�dd(l)m*Z*e*d&e'�dS))�)�division�print_functionN)�join)�log)�newer)�get_config_var)�uses_accelerate_framework�
get_sgemv_fix)�npy_load_module)�*�NPY_RELAXED_STRIDES_CHECKING�1�0�NPY_RELAXED_STRIDES_DEBUGc@s@eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�CallOnceOnlycCsd|_d|_d|_dS)N)�_check_types�_check_ieee_macros�_check_complex)�self�r�C/opt/alt/python35/lib64/python3.5/site-packages/numpy/core/setup.py�__init__(s		zCallOnceOnly.__init__cOsR|jdkr3t||�}tj|�|_ntjtj|j��}|S)N)r�check_types�pickle�dumps�copy�deepcopy�loads)r�a�kw�outrrrr-s
zCallOnceOnly.check_typescOsR|jdkr3t||�}tj|�|_ntjtj|j��}|S)N)r�check_ieee_macrosrrrrr)rrrr rrrr!5s
zCallOnceOnly.check_ieee_macroscOsR|jdkr3t||�}tj|�|_ntjtj|j��}|S)N)r�
check_complexrrrrr)rrrr rrrr"=s
zCallOnceOnly.check_complexN)�__name__�
__module__�__qualname__rrr!r"rrrrr'srcCs3tjdkr%tjjtjd�Std�SdS)z return path where libpython* is.�win32�libs�LIBDIRN)�sys�platform�os�pathr�prefixrrrrr�
pythonlib_dirEsr.cCs
tjdkS)zTReturn True if the NPY_NO_SIGNAL symbol must be defined in configuration
    header.r&)r)r*rrrr�is_npy_no_signalLsr/cCs
dtjkS)zxReturn True if the NPY_NO_SMP symbol must be defined in public
    header (when SMP support cannot be reliably enabled).�	NPY_NOSMP)r+�environrrrr�
is_npy_no_smpQs	r2cCsxddlm}|�}td|tjtjf�|dkrO|jd�|dksg|dkrt|jd�dS)Nr)�get_build_architecturez3BUILD_ARCHITECTURE: %r, os.name=%r, sys.platform=%r�AMD64�DISTUTILS_USE_SDK�Intel�FORCE_NO_LONG_DOUBLE_FORMATTING)�numpy.distutils.misc_utilr3�printr+�namer)r*�append)�deflistr3rrrr�win32_checks\s	
r=cs���fdd�����fdd�����fdd�}�t�sgtdtt���x<tD]4}�jt|�dd	d
g�rntj|�qnW|t�xWtD]O}�j	ddd
dd
d|g�r��j
t|�jdd�df�q�WxtD]}d}t
|�dkrX|d|dt|d�}}}	n�t
|�dkr�|d|d|dgt|d�f\}}}}	n7|d|d|dgt|d�f\}}}}	�j	|dd
ddd|d|�r�j
|	df�qWx?tD]7\}
}�j|
|�r �j
t|�df�q WxTtD]L}�j|�rb|jdd�jdd�}	�j
t|	�df�qbW|t�|t�dS)Ncs�j|d�dddd�S)N�	libraries�declT�call)�
check_func)�	func_name)�config�mathlibsrrrAmsz+check_math_capabilities.<locals>.check_funccs^tdd�|D��}�j|d�d|d|�}|rZ�jdd�|D��|S)NcSsg|]}|df�qS)Tr)�.0�frrr�
<listcomp>rs	zEcheck_math_capabilities.<locals>.check_funcs_once.<locals>.<listcomp>r>r?r@cSs"g|]}t|�df�qS)�)�	fname2def)rErFrrrrGvs	)�dict�check_funcs_once�extend)�
funcs_namer?�st)rCrD�moredefsrrrKqsz1check_math_capabilities.<locals>.check_funcs_oncecsN�|�sFx3|D]+}�|�r�jt|�df�qWdSdSdS)NrHr)r;rI)rMrF)rArKrOrr�check_funcsys
z,check_math_capabilities.<locals>.check_funcszNOne of the required function to build numpy is not available (the list is %s).�headerszPython.hzmath.h�r?Fr@�.�_rH�r�T�	call_args�(�))�MANDATORY_FUNCS�SystemError�str�OPTIONAL_STDFUNCS_MAYBE�
check_declrI�OPTIONAL_STDFUNCS�remove�OPTIONAL_HEADERSrAr;�replace�OPTIONAL_INTRINSICS�len�OPTIONAL_FUNCTION_ATTRIBUTES�check_gcc_function_attribute�OPTIONAL_VARIABLE_ATTRIBUTES�check_gcc_variable_attribute�C99_FUNCS_SINGLE�C99_FUNCS_EXTENDED)rCrOrDrPrF�h�tuprQ�args�m�dec�fnr)rArKrCrDrOr�check_math_capabilitieslsB	


$)
):7	

rqcs	g�g}y7tj�ddkrBtjddd��|fSWnYnX�jd�}|r��jd�|jd�xItD]A}�j|d
dg�}|r�|jdt|�df�q�W���fdd
�}|d�|d�|d��|fS)Nr�Interixz+Disabling broken complex support. See #1365�
stacklevelrUz	complex.h�HAVE_COMPLEX_HrH�NPY_USE_C99_COMPLEXrQzNPY_HAVE_%sc	s��fdd�tD�}tdd�|D��}�j|d|d|d��s�xe|D]@}�j|ddddd��rZ�jt|�df�qZWn�jd	d�|D��dS)
Ncsg|]}|��qSrr)rErF)�precrrrG�s	z5check_complex.<locals>.check_prec.<locals>.<listcomp>cSsg|]}|df�qS)Tr)rErFrrrrG�s	r@r?r>TrHcSs"g|]}t|�df�qS)rH)rI)rErFrrrrG�s	)�C99_COMPLEX_FUNCSrJrKrAr;rIrL)rv�flistr?rF)rCrD�priv)rvr�
check_prec�s	
	 z!check_complex.<locals>.check_precrRrF�l)rtrH)rurH)	r+�uname�warnings�warn�check_headerr;�C99_COMPLEX_TYPES�
check_type�type2def)rCrD�pubrN�trzr)rCrDryrr"�s*


!


r"csg�g�g}��fdd�}ddddg}x�|D]}}td|�}|j|dd	d
g�}|r�|j|dd	d
g�r��jdtd|��q@|j|�q@Wx9|D]1}|j|dd	d
g�}|r�||�q�W��fS)Ncs6�jtd|���jdtd|��dS)Nzdecl_%szNPY_%s)r;rI)rF)ryr�rr�	_add_decl�sz$check_ieee_macros.<locals>._add_decl�isnan�isinf�signbit�isfinitezdecl_%srQzPython.hzmath.hzNPY_%s)rIr^�check_macro_truer;)rC�macrosr��_macrosrF�	py_symbol�already_declaredrNr)ryr�rr!�s&

r!cCs�g}g}ddgddgdddgddgddgd	d
ddgdddgd
dgddgdddgi
}|jd�}|s�d}dtjkr�d}tdj|���|jd�}|r�|jd*�|jd+�|jd�}|r|jd,�|jd-�x�d.D]�}	|jdt|	�ddg�}|r}|jdt|	�dt|	�f�q%|j|	d||	�}|d kr�|jdt|	�d!|f�q%td"|	��q%Wx4d/D],}	|jdt|	�ddg�}
|j|	d||	�}|d kr�|jdt|	�d!|f�|
r�|	d	kr�|jdt|	�d!|f�ntd"|	��d#|	|	f}|j|dd$d%�||	D��}|d kr�|jd&t|	�d!|f�q�td"|��q�Wx�d0D]�}	|j|	ddgd't	�gd||	�}|d kr�|jdt|	�d!|f�|jdt|	�d!|f�qtd"|	��qW|jd
ddg�r�|jd
ddgd't	�gd|d
�}|d krH|jdtd
�d!|f�|jdtd
�d!|f�ntd"d
��|jdd|d�}|d kr�|jdtd�d!|f�ntd"d��|jd(ddg�s�t
d)��||fS)1N�shortrU�int��long��float�double�long double���Py_intptr_t�PY_LONG_LONGz	long long�off_tzPython.h�python�__pypy__�pypyzICannot compile 'Python.h'. Perhaps you need to install {0}-dev|{0}-devel.zendian.h�
HAVE_ENDIAN_HrH�NPY_HAVE_ENDIAN_Hzsys/endian.h�HAVE_SYS_ENDIAN_H�NPY_HAVE_SYS_ENDIAN_Hz	SIZEOF_%srQz
NPY_SIZEOF_%s�expectedrz%dzChecking sizeof (%s) failed !zstruct {%s __x; %s __y;}cSsg|]}d|�qS)rUr)rE�xrrrrG>s	zcheck_types.<locals>.<listcomp>zNPY_SIZEOF_COMPLEX_%s�library_dirs�CHAR_BITzCConfig wo CHAR_BIT is not supported, please contact the maintainers)r�rH)r�rH)r�rH)r�rH)r�r�r�)r�r�r�)r�r�)rr)�builtin_module_namesr[�formatr;r^�sym2def�check_type_sizer.�RuntimeError)�
config_cmd�ext�	build_dir�private_defines�public_definesr��resultr��res�typer��complex_defrrrrs�!




"*$
!$$

!$
!$
$	rc	Cs�g}gdgdgg}tjjd�}|rL|jd|jd��xB|D].}|jdd|dd	d
d	�rS|}PqSWtd��|S)Nrn�cpml�MATHLIBr�,�expr>r?Tr@zKmath library missing; rerun setup.py after setting the MATHLIB env variable)r+r1�get�insert�splitrA�EnvironmentError)r�rD�mathlibs_choices�mathlibr'rrr�
check_mathlibis
!r�cCs|j�rdSdSdS)zSReturn the define value to use for NPY_VISIBILITY_HIDDEN (may be empty
    string).z%__attribute__((visibility("hidden")))rRN)�check_compiler_gcc4)rCrrr�visibility_definezsr�rRc7s�
ddlm}m}ddlm}|d||���j}t|d��t��rltj	dt
�tt��t�d��|�j
d�}td	j|jd
���ddd
f��d�t�����fdd�}���fdd�}���fdd�}	|	d�}
|	d�}�jt|dd���jt|d���jt|���jd��jtdd���jtdd���jtdd���jtdd���jddfg��jd dfg�tjdd!�d"kr;�jd#dfg�nB�jd$d%fg��jd&dfg��jd'dfg��jj�jd(��tddd)�td(d*d+�t�d,�g}�jd-d.tdd/�|||
g�td0tjjfd1d2fg����fd3d4�}
tddd5�tddd6�tddd7�tddd8�tddd9�g}�jdd.||
gd:d;d<d=gi��jd>d?���jd@d?��tdddA�tdddB�tdddC�tdddD�tdddE�tdddF�tdddG�g}�j dd.|d=g�tdddH�tdddI�tdddJ�tdddK�tdddL�tdddM�tdddN�tdddO�tdddP�tdddQ�tdddR�tdddS�tdddT�tdddU�tdddV�tdddW�tdddX�tdddY�tdddZ�tddd[�tddd\�tddd]�tddd^�tddd_�tddd`�tddda�tdddb�tdddc�tdddd�tddde�tdddf�tdddg�tdddh�tdddi�tdddj�td(d*dH�td(d*dk�td(d*dl�td(d*dm�td(d*dn�td(d*do�td(d*dp�td(d*dq�td(d*dr�td(d*ds�td(d*dt�td(d*du�td(d*dv�td(d*dw�td(d*dx�td(d*dy�td(d*dz�g4||}tddd{�tddd|�tddd}�tddd~�tddd�tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddde�tddd��tddd��g0}|d�d�}|or
d�df|j!d�g�kr�
|}|jtddd��tddd��g�t"|�r�
|jt#��ni}�jdd.||||
t�d��td��gd�||d�ddgd�d�d�gd�|����fd�d��}tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��tddd��g}�td(d*dq�td(d*dr�tdddN�tddde�tddd��tddd��t�d��tdddf�tdddg�tdddh�tdddi�g|}�jdd.|||||gd�||d�dg��jd�d.tddd��g��jd�d.tddd��g��jd�d.tddd��g��jd�d.tddd��tddd��gd�tdddg�tdddj�g��jd�d.tddd��g��j$d���j$d���j%��S)�Nr)�
Configuration�dot_join)�get_info�core�code_generators�errorzgenerate_umath.py�generate_umathrTrSz.py�UrHz
include/numpyc
s�t|�d�}tjj|�}tjj|�sCtj|�tt|�r��j�}t	j
d|��j|||�\}}t|�}|j
ddj|�f�t|||�|j�j|�d�|j�j||�d�t�r|j
d�tjdks,tjdkr6t|�|j
d	|j�f�|j�}trn|j
d(�tr�|j
d)�tjd
kr�t|�}	|	d*kr�|j
d|	df�ntd|	��tjddkr�|j
d+�t|d�}
xP|D]H}t|t �r1|
j!d|�q|
j!d|d|df�qW|
j!d�|dkr}|
j!d �n|
j!d!|�|
j!d"�|
j!d#�|
j"�t#d$|�t|�}
t#|
j$��|
j"�t#d%�nzg}t|�}
x[|
D]S}d&}|j%|�r|t&|�d�j'�}
|
r|j|
j(d��qW|
j"�t)|d'�r�|j*j|�tjj|�}|�j+kr��j+j
|�|S),Nzconfig.hz
Generating %sr�r�r�__NPY_PRIVATE_NO_SIGNALr&�nt�NPY_RESTRICTrrHr�darwin�INTEL_EXTENDED_12_BYTES_LE�INTEL_EXTENDED_16_BYTES_LE�MOTOROLA_EXTENDED_12_BYTES_BE�IEEE_QUAD_LE�IEEE_QUAD_BE�IEEE_DOUBLE_LE�IEEE_DOUBLE_BE�DOUBLE_DOUBLE_BE�DOUBLE_DOUBLE_LEzHAVE_LDOUBLE_%sz#Unrecognized long double format: %srV�NPY_PY3K�wz#define %s
z#define %s %s
z#ifndef __cplusplus
�inlinez/* #undef inline */
z#define inline %s
z#endif
zs
#ifndef _NPY_NPY_CONFIG_H_
#error config.h should never be included directly, include npy_config.h instead
#endif
zFile:�EOFz#define MATHLIBr>)rrH)rrH)	r�r�r�r�r�r�r�r�r�)r�rH),rr+r,�dirname�exists�makedirsr�__file__�get_config_cmdr�inforr�r;rqrLr!r"r/r)r*r:r=�check_restrict�check_inlinerr� check_long_double_representation�
ValueError�version_info�open�
isinstancer\�write�closer9�read�
startswithrd�stripr��hasattrr>�numpy_include_dirs)r�r��target�dr�rO�ignoredrDr��rep�target_f�line�s�value�incl_dir)�cocacherC�
header_dirrr�generate_config_h�s�
	



	

#







z(configuration.<locals>.generate_config_hc
s��jt|dd���jt|dd��t|�d�}tjj|�}tjj|�sutj|�tt|�r��j	�}t
jd|��j|||�\}}t
�r�|jd�t�r�|jd�n
|jd�t|�}|j�j|�d�|j�j||�d�trM|jd�tr`|jd�|jdd
dg�r�|jd�t|�}|jd|f�|jddtf�|jddtf�t|d�}	xP|D]H}t|t�r|	jd|�q�|	jd|d	|df�q�W|	jd�|	j�td|�t|�}	t|	j ��|	j�td��j!�|f�|S) z@Depends on config.h: generate_config_h has to be called before !�src�private�npymathz_numpyconfig.hz
Generating %s�
NPY_NO_SIGNALrH�
NPY_NO_SMPrrr�PRIdPTRrQz
inttypes.h�NPY_USE_C99_FORMATS�NPY_VISIBILITY_HIDDEN�NPY_ABI_VERSIONz0x%.8X�NPY_API_VERSIONr�z#define %s
z#define %s %s
zD
#ifndef __STDC_FORMAT_MACROS
#define __STDC_FORMAT_MACROS 1
#endif
zFile: %sr�)r�rH)r�rH)r�r)rrH)rrH)rrH)"�add_include_dirsrr+r,r�r�r�rr�r�rr�rr/r;r2r�rLr!r"rrr^r��
C_ABI_VERSION�
C_API_VERSIONr�r�r\r�r�r9r��add_data_files)
r�r�r�r�r�r�rOrD�hidden_visibilityr�)r�rCr�rr�generate_numpyconfig_hsV
	
	




#


z-configuration.<locals>.generate_numpyconfig_hcs����fdd�}|S)Ncs�t��d�}tjjd��zGt��}tjd|�|jtjj|���\}}}Wdtjd=X�j	�|f�|f�|fS)Nz.pyrzexecuting %s)
rr)r,r��
__import__rr��generate_apir+r)r�r��scriptrn�h_file�c_file�doc_file)�codegen_dirrCr��module_namerrrUs+
z>configuration.<locals>.generate_api_func.<locals>.generate_apir)rr)rrCr�)rr�generate_api_funcTsz(configuration.<locals>.generate_api_func�generate_numpy_api�generate_ufunc_apir�r�zinclude/numpy/*.hr��
multiarray�umath�npysort�NPY_INTERNAL_BUILDr
�HAVE_NPY_CONFIG_HrV�aix�_LARGE_FILES�_FILE_OFFSET_BITS�64�_LARGEFILE_SOURCE�_LARGEFILE64_SOURCE�includez
_signbit.c�numpyz	*object.hz	genapi.py�_dummy�sourcesz
dummymodule.c�sep�pkgnamez
numpy.corecs��j�}|jd�}|s-td��t|�}djdd�|D��}djdd�|D��}|�d<|�d<dS)	Nzint main(void) { return 0;}z0Broken toolchain: cannot link a simple C program� cSsg|]}d|�qS)z-l%sr)rEr{rrrrG�s	z;configuration.<locals>.get_mathlib_info.<locals>.<listcomp>cSsg|]}d|�qS)z%s.libr)rEr{rrrrG�s	�
posix_mathlib�msvc_mathlib)r��try_linkr�r�r)rmr�rN�mlibs�
posix_mlib�	msvc_mlib)rC�
subst_dictrr�get_mathlib_info�s
z'configuration.<locals>.get_mathlib_infoznpy_math_internal.h.srcz
npy_math.cz
ieee754.c.srcznpy_math_complex.c.srczhalffloat.c�install_dir�lib�
build_info�include_dirsznpymath.ini.inzlib/npy-pkg-configzmlib.ini.inzquicksort.c.srczmergesort.c.srczheapsort.c.srcznpy_partition.h.srczselection.c.srcznpy_binsearch.h.srczbinsearch.c.srcz
arrayobject.hzarraytypes.hzarray_assign.hzbuffer.hz
calculation.hzcblasfuncs.hzcommon.hzconvert_datatype.hz	convert.hzconversion_utils.hzctors.hzdescriptor.hzgetset.hzhashdescr.hziterators.hz	mapping.hz	methods.hzmultiarraymodule.hz
nditer_impl.hznumber.hz	numpyos.hz
refcount.hz
scalartypes.hz
sequence.hzshape.hzucsnarrow.hzusertypes.hzvdot.hznpy_config.hztempl_common.h.srczlowlevel_strided_loops.hz
mem_overlap.hzufunc_override.hzbinop_override.hznpy_extint128.hz_neighborhood_iterator_imp.hznpy_endian.hzarrayscalars.hz
noprefix.hznpy_interrupt.hznpy_3kcompat.hz
npy_math.hzhalffloat.hznpy_common.hznpy_os.hzutils.hzndarrayobject.hz	npy_cpu.hz
numpyconfig.hzndarraytypes.hznpy_1_7_deprecated_api.hzalloc.cz
arrayobject.czarraytypes.c.srczarray_assign.czarray_assign_scalar.czarray_assign_array.czbuffer.cz
calculation.czcompiled_base.czcommon.cz	convert.czconvert_datatype.czconversion_utils.czctors.cz
datetime.czdatetime_strings.czdatetime_busday.czdatetime_busdaycal.czdescriptor.czdtype_transfer.czeinsum.c.srcz
flagsobject.czgetset.czhashdescr.czitem_selection.cziterators.czlowlevel_strided_loops.c.srcz	mapping.cz	methods.czmultiarraymodule.cznditer_templ.c.srcznditer_api.cznditer_constr.cznditer_pywrap.cznumber.cz	numpyos.cz
refcount.cz
sequence.czshape.czscalarapi.czscalartypes.c.srcztemp_elide.czusertypes.czucsnarrow.czvdot.cz
mem_overlap.czufunc_override.c�blas_opt�
HAVE_CBLAS�
define_macroszcblasfuncs.czpython_xerbla.czgenerate_numpy_api.pyz*.py�dependsr>�extra_link_argsz-llapack -Wl,-rpath=%sz/opt/alt/python35/lib64�
extra_infocs�t|�d�}tjj|�}tjj|�sCtj|��}t||�r�t|d�}|j�j	�j
�j��|j�gS)Nz__umath_generated.cr�)
rr+r,r�r�r�rr�r��	make_code�defdictr�r�)r�r�r��dirr
rF)r��generate_umath_pyr�rr�generate_umath_cWs


z'configuration.<locals>.generate_umath_cz
umathmodule.czreduction.cz
funcs.inc.srczsimd.inc.srczloops.h.srczloops.c.srczufunc_object.czscalarmath.c.srczufunc_type_resolution.cz
override.cz
override.hzgenerate_ufunc_api.py�umath_testszumath_tests.c.src�
test_rationalztest_rational.c.src�struct_ufunc_testzstruct_ufunc_test.c.src�multiarray_testszmultiarray_tests.c.src�operand_flag_testszoperand_flag_tests.c.src�testsz
tests/data)&r8r�r��numpy.distutils.system_infor��
local_pathr�is_releasedr}�simplefilter�MismatchCAPIWarning�check_api_versionrr:r
r�rrr�add_define_macrosr)r*r�rL�paths�
add_extensionrJr+r,r%�add_installed_library�add_npy_pkg_config�add_libraryr�rr	�add_data_dir�make_svn_version_py)�parent_package�top_pathr�r�r��	local_dir�nr�r
rrr�depsr/�npymath_sources�npysort_sources�multiarray_deps�multiarray_src�	blas_infor9r>�	umath_src�
umath_depsr)r�rrCr�r=r�r.r�
configuration�sz	
	qI


$

=���$







r_�__main__)�setup)+�
__future__rrr+r)rr�	sysconfigr}�os.pathr�numpy.distutilsr�distutils.dep_utilr�distutils.sysconfigr�#numpy._build_utils.apple_acceleraterr	�numpy.compatr
�setup_commonr1r�rr�objectrr.r/r2r=rqr"r!rr�r�r_r#�numpy.distutils.corerarrrr�<module>sB
J)%e��7