o
    0Zc                     @   sl  d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZ d dlT e jdd	d
kZesQede jdd
d
kZeo]eZe jdd
d	kZG dd dZdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z d d! Z!d"d# Z"d$d% Z#d&d' Z$d.d)d*Z%e&d+krd d,l'm(Z( e(e%d- dS dS )/    N)join)log)newer)get_config_var)npy_load_module)*NPY_RELAXED_STRIDES_CHECKING10z}Support for NPY_RELAXED_STRIDES_CHECKING=0 has been remove as of NumPy 1.23.  This error will eventually be removed entirely.NPY_RELAXED_STRIDES_DEBUGNPY_DISABLE_SVMLc                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
CallOnceOnlyc                 C   s   d | _ d | _d | _d S N)_check_types_check_ieee_macros_check_complex)self r   F/var/www/chikooza/env/lib/python3.10/site-packages/numpy/core/setup.py__init__/   s   
zCallOnceOnly.__init__c                 O   >   | j d u rt|i |}t|| _ |S tt| j }|S r   )r   check_typespickledumpscopydeepcopyloadsr   akwoutr   r   r   r   4      
zCallOnceOnly.check_typesc                 O   r   r   )r   check_ieee_macrosr   r   r   r   r   r   r   r   r   r"   <   r!   zCallOnceOnly.check_ieee_macrosc                 O   r   r   )r   check_complexr   r   r   r   r   r   r   r   r   r#   D   r!   zCallOnceOnly.check_complexN)__name__
__module____qualname__r   r   r"   r#   r   r   r   r   r   .   s
    r   c                  C   s*   t rdS t } d| v od| v otjdkS )zZSVML library is supported only on x86_64 architecture and currently
    only on linux
    Fx86_64linuxl        )r   	sysconfigget_platformsysmaxsize)platformr   r   r   can_link_svmlL   s   r.   c                 C   s   t j| d stddS )Nz
/README.mdzHMissing `SVML` submodule! Run `git submodule update --init` to fix this.T)ospathexistsRuntimeError)svmlpathr   r   r   check_svml_submoduleW   s   r4   c                   C   s"   t jdkrtjt jdS tdS )z return path where libpython* is.win32libsLIBDIR)r+   r-   r/   r0   r   prefixr   r   r   r   r   pythonlib_dir]   s   
r9   c                   C   s
   t jdkS )zTReturn True if the NPY_NO_SIGNAL symbol must be defined in configuration
    header.r5   )r+   r-   r   r   r   r   is_npy_no_signald   s   
r:   c                   C   s
   dt jv S )zxReturn True if the NPY_NO_SMP symbol must be defined in public
    header (when SMP support cannot be reliably enabled).	NPY_NOSMP)r/   environr   r   r   r   is_npy_no_smpi   s   
	r=   c                 C   s\   ddl m} | }td|tjtjf  |dkr| d |dks%|dkr,| d d S d S )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_utilr>   printr/   namer+   r-   append)deflistr>   r   r   r   r   win32_checkst   s   
rH   c                    s  ddgffdd	 dgffdd	dgf fdd	}t s-td	tt  tD ]}jt|d
dgdrK|tv rFt| q/t| q/|t |tdgd |t	dgd t
D ]!}jddd|gdr|ddtjjd}t|df q`g d}|t|dsd|d< |t|d tD ]]}d }	t|dkr|d |d t|d }}
}n1t|dkr|d |d |d gt|d f\}}
}	}n|d |d |d gt|d f\}}
}	}j|dd|
|	dr|df qtD ]9\}}||r1t|df |dkr1tjdv r1 r1dds1|jdd  td!d"D  qtD ]\}}}}||||rLt|df q4tD ]} |rk|d#dd$d}t|df qP|t! |t" d S )%NFzfeature_detection_math.hc                    s    j | |dt|  |dS )NT	librariesdeclcall	call_argsheaders)
check_funcFUNC_CALL_ARGS)	func_namerK   rN   )configmathlibsr   r   rO      s   z+check_math_capabilities.<locals>.check_funcc                    sV   t dd | D }t dd | D } j| d|||d}|r)dd | D  |S )Nc                 S      g | ]}|d fqS Tr   .0fr   r   r   
<listcomp>       zEcheck_math_capabilities.<locals>.check_funcs_once.<locals>.<listcomp>c                 S   s   g | ]}|t | fqS r   )rP   rV   r   r   r   rY          FrI   c                 S      g | ]}t |d fqS    	fname2defrV   r   r   r   rY      r[   )dictcheck_funcs_onceextend)
funcs_namerN   rL   rM   st)rR   rS   moredefsr   r   rb      s   z1check_math_capabilities.<locals>.check_funcs_oncec                    s<   | |ds| D ]} ||dr t|df qdS dS )NrN   r^   r   rF   r`   )rd   rN   rX   )rO   rb   rf   r   r   check_funcs   s   z,check_math_capabilities.<locals>.check_funcszNOne of the required function to build numpy is not available (the list is %s).Python.hmath.hrg   zfeature_detection_stdio.hzfeature_detection_misc.h )rK   rL   rN   ._r^   )zstdlib.hz	xlocale.hzfeature_detection_locale.hzlocale.h   r      T)rK   rL   rM   rN   attribute_target_avx512f)r5   cygwin      c                 S      g | ]}d | qS )z-ffixed-xmm%sr   )rW   nr   r   r   rY      rZ   z+check_math_capabilities.<locals>.<listcomp>       ())#MANDATORY_FUNCSSystemErrorstrOPTIONAL_STDFUNCS_MAYBE
check_declr`   OPTIONAL_STDFUNCSremoveOPTIONAL_FILE_FUNCSOPTIONAL_MISC_FUNCSOPTIONAL_HEADERSrO   replacer/   r0   seprF   OPTIONAL_LOCALE_FUNCSOPTIONAL_INTRINSICSlenOPTIONAL_FUNCTION_ATTRIBUTEScheck_gcc_function_attributer+   r-   check_compiler_gcccheck_gcc_version_at_leastextra_compile_argsrc   range,OPTIONAL_FUNCTION_ATTRIBUTES_WITH_INTRINSICS,check_gcc_function_attribute_with_intrinsicsOPTIONAL_VARIABLE_ATTRIBUTEScheck_gcc_variable_attributeC99_FUNCS_SINGLEC99_FUNCS_EXTENDED)rR   extrf   rS   ri   rX   hlocale_headerstuprN   argsmdecfncodeheaderr   )rO   rb   rR   rS   rf   r   check_math_capabilities   s   


",*


r   c                    s   g g }zt  d dkrtjddd |fW S W n	 ty#   Y nw  d}|rcd |d tD ]} j|dgd	}|rN|d
t	| df q7 fdd}|d |d |d |fS )Nr   Interixz+Disabling broken complex support. See #1365ro   )
stacklevelz	complex.h)HAVE_COMPLEX_Hr^   )NPY_USE_C99_COMPLEXr^   rg   zNPY_HAVE_%sr^   c                    s    fddt D }tdd |D }j|||ds4|D ]}j|dddr1t|df qd S dd |D  d S )Nc                    s   g | ]}|  qS r   r   rV   precr   r   rY     rZ   z5check_complex.<locals>.check_prec.<locals>.<listcomp>c                 S   rT   rU   r   rV   r   r   r   rY     rZ   )rL   rK   rJ   Tr^   c                 S   r\   r]   r_   rV   r   r   r   rY      r[   )C99_COMPLEX_FUNCSra   rb   rO   rF   r`   rc   )r   flistrK   rX   rR   rS   privr   r   
check_prec  s   

z!check_complex.<locals>.check_precrl   rX   l)
r/   unamewarningswarn	Exceptioncheck_headerrF   C99_COMPLEX_TYPES
check_typetype2def)rR   rS   pubre   tr   r   r   r   r#      s0   



r#   c                    s   g  g g } fdd}g d}|D ]-}t d| }| j|ddgd}|r;| j|ddgdr:dt d|   q|| q|D ]}| j|ddgd}|rT|| qC fS )	Nc                    s,     td|    dtd|    d S )Ndecl_%sNPY_%srh   )rX   r   r   r   r   	_add_decl.  s   z$check_ieee_macros.<locals>._add_decl)isnanisinfsignbitisfiniter   rj   rk   rg   r   )r`   r   check_macro_truerF   )rR   macrosr   _macrosrX   	py_symbolalready_declaredre   r   r   r   r"   (  s.   r"   c                 C   sj  g }g }dgdgddgdgdgg dddgdgdgddgd
}|  d}|s6d}dtjv r/d	}td
||  d}|rG|d |d |  d}|rX|d |d dD ]@}	| jdt|	 dgd}|rz|dt|	 dt|	 f qZ| j|	||	 d}|dkr|dt|	 d| f qZtd|	 dD ]n}	| jdt|	 dgd}
| j|	||	 d}|dkr|dt|	 d| f |
s|	dks|dt|	 d| f ntd|	 d|	|	f }| j|dd ||	 D d}|dkr|dt|	 d| f qtd| dD ]6}	| j|	dgt	 g||	 d }|dkr?|dt|	 d| f |dt|	 d| f qtd|	 | jd!dgdr| jd!dgt	 g|d! d }|dkr||dtd! d| f |dtd! d| f ntdd! | jd"|d" d}|dkr|dtd" d| f ntdd" | jd#dgdst
d$||fS )%Nro   rt   rs   )rw      rs   )
shortintlongfloatdoublelong doublePy_intptr_tPY_LONG_LONG	long longoff_trj   python__pypy__pypyzICannot compile 'Python.h'. Perhaps you need to install {0}-dev|{0}-devel.zendian.h)HAVE_ENDIAN_Hr^   )NPY_HAVE_ENDIAN_Hr^   zsys/endian.h)HAVE_SYS_ENDIAN_Hr^   )NPY_HAVE_SYS_ENDIAN_Hr^   )r   r   r   z	SIZEOF_%srg   zNPY_SIZEOF_%s)expectedr   z%dzChecking sizeof (%s) failed !)r   r   r   r   zstruct {%s __x; %s __y;}c                 S   s   g | ]}d | qS )ro   r   )rW   xr   r   r   rY     rZ   zcheck_types.<locals>.<listcomp>zNPY_SIZEOF_COMPLEX_%s)r   r   )rN   library_dirsr   r   r   CHAR_BITzCConfig wo CHAR_BIT is not supported, please contact the maintainers)r   r+   builtin_module_namesr|   formatrF   r   sym2defcheck_type_sizer9   r2   )
config_cmdr   	build_dirprivate_definespublic_definesr   resultr   restyper   complex_defr   r   r   r   M  s   







 





r   c                 C   sd   g }g dgdgg}t jd}|r|d|d |D ]}| jd|ddd	d
r-|} |S qtd)Nr   cpmlMATHLIBr   ,r   r
   zdouble log(double);T)rJ   rM   rK   rL   zKmath library missing; rerun setup.py after setting the MATHLIB env variable)r/   r<   getinsertsplitrO   r2   )r   rS   mathlibs_choicesmathlibr6   r   r   r   check_mathlib  s(   
r   c                 C   s   d}|  |dr
|S dS )zSReturn the define value to use for NPY_VISIBILITY_HIDDEN (may be empty
    string).z%__attribute__((visibility("hidden")))hidemerl   )r   )rR   hider   r   r   visibility_define  s   r   rl   c                      s  ddl m}mm} ddlm}m}m} ddlm	  ddl
m} |d| |j}t|d|r6tdt tt td	jd
}	|d|	ddt fdd}
fdd}fdd}|d}|d}t|dd t|d t| d tdd tdd tdd tdd tdd dg dg tjd d d kr׈d!g nd"g d#g d$g jd% tddd&td%d'd(td)g}td*tj j!fd+g fd,d-}tddd.tddd/tddd0tddd1tddd2g}d3d4 }j"d||g d5g |gd6d7 #d8d9 #d:d9 j$d;tddd<tddd=tddd>tddd?gtddd@tdddAtdddBtdddCgdgdD tdddEdFtdddGtdddHtdddItdddJtddd@tdddAtdddKtdddLtdddMtdddNtdddCtdddOtdddBtdddPtdddQtdddRtdddStdddTtdddUtdddVtdddWtdddXdYg}tdddZtddd=tddd>tddd?tddd[tdddRtddd\tddd]tddd^tddd_g
}tj%&d`dadakr>|dbdc}n|ddd}|oMde|&dfg v }|rc|}|tdddgtdddhg ni }g tddditdddjtdddktdddltdddmtdddntdddotdddptdddqtdddrtdddstdddttdddutdddvtdddwtdddxtdddytdddztddd{tddd|tddd}tddd~tdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtddddtd%d'djtd%d'dtd%d'dtd%d'dtd%d'dtd%d'dtd%d'dtd%d'dtd%d'dtd%d'dtd%d'dtd%d'dtd%d'dtd%d'dtd%d'dtd%d'dtd%d'd| }g tdddtdddtdddtdddktdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddÃtdddătdddŃtdddƃtdddǃtdddȃtdddɃtdddʃtddd˃tddd̃tddd̓tddd΃tdddσtdddЃtdddуtddd҃tdddӃtdddԃtdddՃtdddփtddd׃tddd؃tdddكtdddڃtdddۃtddd܃tddd݃tdddރtddd߃tdddtdddtdddtdddtddddtddddtddddtddddtddddtddddtddddtdddd}fdd}fdd}tdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtdddtddd tdddtdddtdddtdddtdddtdddtdddtdddtddd	tddd
tdddtdddg}td%d'dtd%d'dtdddqtdddtdddRtdddtdddtdtdg
}td'dddd}g }d	t' rt(|rt)j)|d dd}	fdd|D }|*  j$dd|| | |
||tdtd|||g || | | dg|| d j$dtdddtdddtddd_gd j$d tddd!gd j$d"tddd#gd j$d$tddd%gd j$dtddd_tddd&tddd'tddd(tddd)gtdddWtdddXdYtddd*tddd'tddd(tddd+tddd,tddd-tddd.g	d/ +d0 d1 d2 ,d3 -  S (4  Nr   )Configurationdot_joinexec_mod_from_location)get_infoblas_opt_infolapack_opt_info)NPY_CXX_FLAGS)releasecorecode_generatorserrorzgenerate_umath.pygenerate_umathrn   rm   zinclude/numpyc                    s$  t |d}tj|}tj|st| tt|r8 }t	
d|  || |\}}t|}|dd |f t|| || | |d  | ||d  t rb|d tjdksltjdkrpt| |d	| f | }t r|d
 tr|d n|d t|}	|d|	 df t|r|d |d |d |d t|dJ}
|D ]}t|tr|
 d|  q|
 d|d |d f  q|
 d |dkr|
 d n|
 d|  |
 d |
 t!"d W d    n	1 s
w   Y  t	
d|  t|}
t	
|
#  W d    n	1 s-w   Y  t	
d n:g }t|+}
|
D ] }d}|$|r`|t%|d  & }|r`||'d qAW d    n	1 smw   Y  t(| dr~| j)| tj|}|j*vrj*| |S ) Nzconfig.hGenerating %sr   r   r   __NPY_PRIVATE_NO_SIGNALr5   ntNPY_RESTRICT)NPY_CAN_LINK_SVMLr^   r   r^   )r   r   zHAVE_LDOUBLE_%sr^   $NPY_DO_NOT_OPTIMIZE_LONG_right_shift%NPY_DO_NOT_OPTIMIZE_ULONG_right_shift(NPY_DO_NOT_OPTIMIZE_LONGLONG_right_shift)NPY_DO_NOT_OPTIMIZE_ULONGLONG_right_shiftw#define %s
#define %s %s
z#ifndef __cplusplus
inlinez/* #undef inline */
z#define inline %s
z#endif
z
                    #ifndef NUMPY_CORE_SRC_COMMON_NPY_CONFIG_H_
                    #error config.h should never be included directly, include npy_config.h instead
                    #endif
                    File: %sEOFz#define MATHLIBrJ   )+r   r/   r0   dirnamer1   makedirsr   __file__get_config_cmdr   infor   r   rF   r   rc   r"   r#   r:   r+   r-   rE   rH   check_restrictcheck_inliner.   r    check_long_double_representation-check_for_right_shift_internal_compiler_erroropen
isinstancer}   writetextwrapdedentread
startswithr   stripr   hasattrrJ   numpy_include_dirs)r   r   targetdr   rf   ignoredrS   r  reptarget_flinesvalueincl_dircocacherR   
header_dirr   r   generate_config_h  s   












z(configuration.<locals>.generate_config_hc           
         s   t|dd  t|dd t|d}tj|}tj|s)t| tt|r	 }t
d|  || |\}}t rJ|d t rS|d n|d t|}| |d	  | ||d	  trx|d
 |jddgdr|d t|}|d|f |ddt f |ddt f t|d/}	|D ]}t|tr|	d|  q|	d|d |d	 f  q|	td W d   n1 sw   Y  t
d|  t|}	t
|	  W d   n1 sw   Y  t
d  |f |S )z@Depends on config.h: generate_config_h has to be called before !srccommonnpymathz_numpyconfig.hr   )NPY_NO_SIGNALr^   )
NPY_NO_SMPr^   )r2  r   r^   r  PRIdPTRz
inttypes.hrg   )NPY_USE_C99_FORMATSr^   NPY_VISIBILITY_HIDDENNPY_ABI_VERSIONz0x%.8XNPY_API_VERSIONr  r	  r
  r   z
                    #ifndef __STDC_FORMAT_MACROS
                    #define __STDC_FORMAT_MACROS 1
                    #endif
                    Nr  r  )!add_include_dirsr   r/   r0   r  r1   r  r   r  r  r   r  r   r:   rF   r=   r   rc   r"   r#   r   r   r   C_ABI_VERSIONC_API_VERSIONr  r  r}   r  r  r  r  add_data_files)
r   r   r!  r"  r   r#  rf   rS   hidden_visibilityr%  r*  r   r   generate_numpyconfig_hZ  sP   







z-configuration.<locals>.generate_numpyconfig_hc                    s    fdd}|S )Nc                    s|   t  d }tjd  zt}td| |tj |\}}}W tjd= ntjd= w 	|f|f |fS )Nz.pyr   zexecuting %s)
r   r+   r0   r   
__import__r   r  generate_apir/   r;  )r   r   scriptr   h_filec_filedoc_file)codegen_dirrR   r,  module_namer   r   r?    s   
z>configuration.<locals>.generate_api_func.<locals>.generate_apir   )rE  r?  )rD  rR   r,  )rE  r   generate_api_func  s   z(configuration.<locals>.generate_api_funcgenerate_numpy_apigenerate_ufunc_apir.  r/  r0  
multiarrayumathnpysort_simd)NPY_INTERNAL_BUILDr	   )HAVE_NPY_CONFIG_Hr	   rp   aix)_LARGE_FILESN)_FILE_OFFSET_BITS64)_LARGEFILE_SOURCEr	   )_LARGEFILE64_SOURCEr	   includez
_signbit.cnumpyz	*object.hz	genapi.pyr   )pkgnamez
numpy.corec                     s     }dD ]L\}}}|dk}|r-|j}| |_t|jdr-|jj  |jj  |j||d}|sMd|j_|j||d td|	  d| |rR||_qt
|}dd	d
 |D }	ddd
 |D }
|	d< |
d< d S )N))czint main(void) { return 0;}rl   )c++z;int main(void){ auto x = 0.0; return static_cast<int>(x); }zFnote: A compiler with support for C++11 language features is required.rY  compiler)langTz'Broken toolchain: cannot link a simple z
 program.  c                 S   ru   )z-l%sr   rW   r   r   r   r   rY     rZ   z;configuration.<locals>.get_mathlib_info.<locals>.<listcomp>c                 S   ru   )z%s.libr   r]  r   r   r   rY     rZ   posix_mathlibmsvc_mathlib)r  rZ  cxx_compilerr  rc   compiler_sotry_linkverboser2   upperr   r   )r   r   r[  	test_codenoteis_cppbk_cre   mlibs
posix_mlib	msvc_mlib)r   rR   
subst_dictr   r   get_mathlib_info  s4   
z'configuration.<locals>.get_mathlib_infoznpy_math_internal.h.srcz
npy_math.czieee754.c.srcznpy_math_complex.c.srczhalffloat.cc                 S   s2   | j jdkrg S dg}| jdgr|d |S )z Add flags if we are using MSVC compiler

        We can't see `build_cmd` in our scope, because we have not initialized
        the distutils build command, so use this deferred calculation to run
        when we are building the library.
        msvcz/GL-z-d2VolatileMetadata-)rZ  compiler_typecompiler_optcc_test_flagsrF   )	build_cmdflagsr   r   r   opts_if_msvc  s   
z#configuration.<locals>.opts_if_msvclib)include_dirsextra_compiler_args)sourcesinstall_dir
build_infoznpymath.ini.inzlib/npy-pkg-configzmlib.ini.in_multiarray_testsz_multiarray_tests.c.srczmem_overlap.cznpy_argparse.cznpy_hashtable.czmem_overlap.hznpy_argparse.hznpy_hashtable.hznpy_extint128.h)rx  dependsrJ   dlpackzdlpack.hzarray_assign.hzbinop_override.hzcblasfuncs.hzlowlevel_strided_loops.hznpy_cblas.hznpy_config.hznpy_ctypes.hznpy_dlpack.hznpy_import.hznpy_longdouble.hz
npy_svml.hztempl_common.h.srczucsnarrow.hzufunc_override.hzumathmodule.hz	numpyos.hznpy_cpu_dispatch.hsimdzsimd.hzarray_assign.cznpy_longdouble.czucsnarrow.czufunc_override.cz	numpyos.cznpy_cpu_features.cNPY_USE_BLAS_ILP64r
   blas_ilp64_optro   blas_opt)
HAVE_CBLASNdefine_macroszcblasfuncs.czpython_xerbla.czabstractdtypes.hzarrayobject.hzarraytypes.h.srczarrayfunction_override.hzarray_coercion.hzarray_method.hznpy_buffer.hzcalculation.hzcommon.hzcommon_dtype.hzconvert_datatype.hz	convert.hzconversion_utils.hzctors.hzdescriptor.hzdtypemeta.hzdtype_transfer.hz	dragon4.hzeinsum_debug.hzeinsum_sumprod.hzexperimental_public_dtype_api.hzgetset.hzhashdescr.hziterators.hzlegacy_dtype_implementation.hz	mapping.hz	methods.hzmultiarraymodule.hznditer_impl.hznumber.hz
refcount.hzscalartypes.hz
sequence.hzshape.hz
strfuncs.hz
typeinfo.hzusertypes.hzvdot.htextreadingz
readtext.hz_neighborhood_iterator_imp.hznpy_endian.hzarrayscalars.hz
noprefix.hznpy_interrupt.hznpy_3kcompat.hz
npy_math.hzhalffloat.hznpy_common.hznpy_os.hzutils.hzndarrayobject.hz	npy_cpu.hznumpyconfig.hzndarraytypes.hznpy_1_7_deprecated_api.hzabstractdtypes.czalloc.czarrayobject.czarraytypes.c.srczargfunc.dispatch.c.srczarray_coercion.czarray_method.czarray_assign_scalar.czarray_assign_array.czarrayfunction_override.czbuffer.czcalculation.czcompiled_base.czcommon.czcommon_dtype.cz	convert.czconvert_datatype.czconversion_utils.czctors.cz
datetime.czdatetime_strings.czdatetime_busday.czdatetime_busdaycal.czdescriptor.czdlpack.czdtypemeta.cz	dragon4.czdtype_transfer.czeinsum.c.srczeinsum_sumprod.c.srczexperimental_public_dtype_api.czflagsobject.czgetset.czhashdescr.czitem_selection.cziterators.czlegacy_dtype_implementation.czlowlevel_strided_loops.c.srcz	mapping.cz	methods.czmultiarraymodule.cznditer_templ.c.srcznditer_api.cznditer_constr.cznditer_pywrap.cznumber.cz
refcount.cz
sequence.czshape.czscalarapi.czscalartypes.c.srcz
strfuncs.cztemp_elide.cz
typeinfo.czusertypes.czvdot.cznpy_sort.h.srczx86-qsort.dispatch.cppzquicksort.cppzmergesort.cppztimsort.cppzheapsort.cppzradixsort.cppznpy_partition.hzselection.cppznpy_binsearch.hzbinsearch.cppzconversions.czfield_types.czgrowth.cz
readtext.czrows.czstream_pyobject.czstr_to_int.cztokenize.cppc                    s   t |d}tj|}tj|st| }t||r?t|d}| 	 j
 j W d    g S 1 s:w   Y  g S )Nz__umath_generated.cr  )r   r/   r0   r  r1   r  r   r  r  	make_codedefdictr  )r   r   r!  dirr@  rX   )r   generate_umath_pyr,  r   r   generate_umath_c  s   


z'configuration.<locals>.generate_umath_cc                    s   ddl m} t|d}tj|}tj|st| t d}t||r?j	d}|d|
d|}|| d S d S )Nr   )r   z_umath_doc_generated.hzgenerate_umath_doc.pygenerate_umath_docrn   rm   )rC   r   r   r/   r0   r  r1   r  r   rE   r   
write_code)r   r   r   r!  r  generate_umath_doc_pyrv   r  )rD  rR   r   r,  r   r   generate_umath_doc_header  s   


z0configuration.<locals>.generate_umath_doc_headerzumathmodule.czreduction.czfuncs.inc.srczsimd.inc.srczloops.h.srczloops_utils.h.srczloops.c.srczloops_unary_fp.dispatch.c.srczloops_arithm_fp.dispatch.c.srczloops_arithmetic.dispatch.c.srczloops_minmax.dispatch.c.srcz"loops_trigonometric.dispatch.c.srczloops_umath_fp.dispatch.c.srcz!loops_exponent_log.dispatch.c.srczloops_hyperbolic.dispatch.c.srczloops_modulo.dispatch.c.srczmatmul.h.srczmatmul.c.srczclip.hzclip.cppzdispatching.czlegacy_array_method.czwrapping_array_method.czufunc_object.czextobj.czscalarmath.c.srczufunc_type_resolution.cz
override.cz_scaled_float_dtype.cz
override.hzgenerate_ufunc_api.pyzufunc_docstrings.pysvml)zsvml_z0_tanh_d_la.szsvml_z0_tanh_s_la.sz/**/*.sT)	recursivec                    s   g | ]	}|  s|qS r   )endswith)rW   o)svml_filterr   r   rY   \  s    z!configuration.<locals>.<listcomp>_multiarray_umathrX  zgenerate_numpy_api.pyz*.py)languagerx  r|  rJ   extra_objects
extra_infoextra_cxx_compile_args_umath_testsz_umath_tests.c.srcz_umath_tests.dispatch.c)rx  _rational_testsz_rational_tests.c_struct_ufunc_testsz_struct_ufunc_tests.c_operand_flag_testsz_operand_flag_tests.cz_simd.cz_simd_inc.h.srcz_simd_data.inc.srcz_simd.dispatch.c.srcz_simd.hz_simd_arg.incz_simd_convert.incz_simd_easyintrin.incz_simd_vector.inc)rx  r|  testsz
tests/dataztests/examplesz*.pyi).rC   r   r   r   numpy.distutils.system_infor   r   r   numpy.distutils.ccompiler_optr   numpy.versionr   
local_pathr   r   simplefilterMismatchCAPIWarningcheck_api_versionr:  rE   r   r   r8  add_data_diradd_define_macrosr+   r-   r   rc   pathsra   r/   r0   r   add_installed_libraryadd_npy_pkg_configadd_extensionr<   r   r.   r4   globsortadd_subpackager;  make_svn_version_py) parent_packagetop_pathr   r   r   r   r   is_released	local_dirrv   r-  r=  rF  rG  rH  depsrm  npymath_sourcesrt  common_deps
common_src	blas_info	have_blasr  multiarray_depsmultiarray_srcr  r  	umath_src
umath_deps	svml_path	svml_objsr   )
r   r+  rD  rR   r   r   r  r,  rl  r  r   configuration  s  


jD


	
2





















































	























 
!
"
#
$
%
&'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8;=








	























 
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
DEFGHIJKLS















"














r  __main__)setup)r  )rl   N))r/   r+   r)   r   r   r   r  r  os.pathr   numpy.distutilsr   distutils.dep_utilr   r   numpy.compatr   setup_commonr<   r   r   r|   r   r   r   r.   r4   r9   r:   r=   rH   r   r#   r"   r   r   r   r  r$   numpy.distutils.corer  r   r   r   r   <module>   sZ    {)%e
	     h