
    d7                        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mZ d dlT e j                            d	d
          dk    Zes ed          e j                            dd          dk    ZeoeZe j                            dd          d
k    Z G d d          Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d"dZ'e(dk    rd d l)m*Z*  e*e'!           dS dS )#    N)join)log)lib_opts_if_msvc)newer)get_config_var)npy_load_module)*NPY_RELAXED_STRIDES_CHECKING10z~Support for NPY_RELAXED_STRIDES_CHECKING=0 has been removed as of NumPy 1.23.  This error will eventually be removed entirely.NPY_RELAXED_STRIDES_DEBUGNPY_DISABLE_SVMLc                        e Zd Zd Zd Zd ZdS )CallOnceOnlyc                 0    d | _         d | _        d | _        d S N)_check_types_check_ieee_macros_check_complex)selfs    L/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/numpy/core/setup.py__init__zCallOnceOnly.__init__2   s      "&"    c                     | j         &t          |i |}t          j        |          | _         n+t	          j        t          j        | j                             }|S r   )r   check_typespickledumpscopydeepcopyloadsr   akwouts       r   r   zCallOnceOnly.check_types7   sS    $q'B''C &S 1 1D-T-> ? ?@@C
r   c                     | j         &t          |i |}t          j        |          | _         n+t	          j        t          j        | j                             }|S r   )r   check_complexr   r   r   r   r    r!   s       r   r&   zCallOnceOnly.check_complex?   sS    &)b))C"(,s"3"3D-T-@ A ABBC
r   N)__name__
__module____qualname__r   r   r&    r   r   r   r   /   sA        # # #
      r   r   c                  j    t           rdS t          j                    } 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)platforms    r   can_link_svmlr3   G   sH      u%''H  $8#$e#%r   c                  $   t                      rddl} t          j        d                                          d                                         }|                     d|          }|%t          |                                          dk    S dS dS )zASVML FP16 requires binutils >= 2.38 for an updated assembler
    r   Nzld -vz\d\.\d\dg
ףp=
@F)	r3   reospopen	readlinesstripsearchfloatgroup)r5   binutils_vers     r   can_link_svml_fp16r>   R   s      			x((2244Q7==??yyl;;#++--..$665 r   c                      t          j        d          } |                                 }|D ]/}|                                d         dk    rt	          d          0d S )Nzgit submodule statusr   -zXgit submodules are not initialized.Please run `git submodule update --init` to fix this.)r6   r7   r8   r9   RuntimeError)r$   modules	submodules      r   check_git_submodulesrD   ^   sv    
()
*
*CmmooG M M	OOa C''  L M M M (M Mr   c                      t           j        dk    r*t          j                            t           j        d          S t          d          S )z return path where libpython* is.win32libsLIBDIR)r0   r2   r6   pathr   prefixr   r*   r   r   pythonlib_dirrK   f   s5    
|ww||CJ///h'''r   c                  "    t           j        dk    S )zTReturn True if the NPY_NO_SIGNAL symbol must be defined in configuration
    header.rF   )r0   r2   r*   r   r   is_npy_no_signalrM   m   s     <7""r   c                      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)r6   environr*   r   r   is_npy_no_smprQ   r   s     "*$$r   c                     ddl m}  |            }t          d|dt          j        dt
          j                   |dk    r|                     d           |dk    s|dk    r|                     d	           d S d S )
Nr   )get_build_architecturezBUILD_ARCHITECTURE: z
, os.name=z, sys.platform=AMD64DISTUTILS_USE_SDKIntelFORCE_NO_LONG_DOUBLE_FORMATTING)numpy.distutils.misc_utilrS   printr6   namer0   r2   append)deflistrS   r"   s      r   win32_checksr]   }   s    @@@@@@  A 
E11bgggs||% & & &G||*+++
 	G||qG||899999 $|r   c                 `    dddgf fd	ddgdf fd	ddgffd	} t           d          s$t          d	t          t                     z            t          D ]A}                     t          |          d
g          rt                              |           B |t          dg            |t          dg           t          D ]y} 
                    ddd|g          r]|                    dd                              t          j        j        d          }                    t          |          df           zg d} |t           |          sd|d<    |t           |           t"          D ]}d }	t%          |          dk    r&|d         |d         t          |d                   }}
}nvt%          |          dk    r2|d         |d         |d         gt          |d                   f\  }}
}	}n1|d         |d         |d         gt          |d                   f\  }}
}	} 
                    |dd|
|	          r                    |df           t&          D ]?\  }}                     ||          r$                    t          |          df           @t+          j                    }t.          D ]e}                     |          rN|                    dd                              dd          }                    t          |          df           fd S )NFzfeature_detection_math.hzfeature_detection_cmath.hc                 P                         | |dt          |          |          S )NT	librariesdeclcall	call_argsheaders)
check_funcFUNC_CALL_ARGS)	func_namerb   re   configmathlibss      r   rf   z+check_math_capabilities.<locals>.check_func   s9    
   $Y/ ! 
 
 	
r   Tc                     t          d | D                       }t          d | D                       }                    | d|||          }|r!|r                    d | D                        |S )Nc                     g | ]}|d fS Tr*   .0fs     r   
<listcomp>zEcheck_math_capabilities.<locals>.check_funcs_once.<locals>.<listcomp>   s    3331aY333r   c                 ,    g | ]}|t           |         fS r*   )rg   rn   s     r   rq   zEcheck_math_capabilities.<locals>.check_funcs_once.<locals>.<listcomp>   s"    EEEQ1nQ/0EEEr   Fr`   c                 0    g | ]}t          |          d fS    	fname2defrn   s     r   rq   zEcheck_math_capabilities.<locals>.check_funcs_once.<locals>.<listcomp>   s#    CCC1illA.CCCr   )dictcheck_funcs_onceextend)	
funcs_namere   add_to_moredefsrc   rd   stri   rj   moredefss	         r   ry   z1check_math_capabilities.<locals>.check_funcs_once   s     33
33344EE*EEEFF	$$ % 
 
  	E/ 	EOOCC
CCCDDD	r   c                      | |          s8| D ]3} ||          r$                     t          |          df           4dS dS )Nre   ru   r   )r[   rw   )r{   re   rp   rf   ry   r~   s      r   check_funcsz,check_math_capabilities.<locals>.check_funcs   sk    
  
G<<< 	 7 7:a111 7OOYq\\1$566611r   )r|   zNOne of the required function to build numpy is not available (the list is %s).Python.hr   zfeature_detection_stdio.hzfeature_detection_misc.h )rb   rc   re   ._ru   )zstdlib.hz	xlocale.hzfeature_detection_locale.hzlocale.h   r      )rb   rc   rd   re   ())MANDATORY_FUNCSSystemErrorstrOPTIONAL_FUNCS_MAYBE
check_declrw   OPTIONAL_FILE_FUNCSremoveOPTIONAL_MISC_FUNCSOPTIONAL_HEADERSrf   replacer6   rI   sepr[   OPTIONAL_LOCALE_FUNCSOPTIONAL_INTRINSICSlenOPTIONAL_FUNCTION_ATTRIBUTEScheck_gcc_function_attributer.   r/   OPTIONAL_VARIABLE_ATTRIBUTEScheck_gcc_variable_attribute)ri   extr~   rj   r   rp   hlocale_headerstupre   argsmdecfnr2   rf   ry   s   ` ``           @@r   check_math_capabilitiesr      s    +-HI
 
 
 
 
 
 
  01LM        ( 01LM        OUCCC G /14_1E1EF G G 	G " * *Yq\\J<@@ 	*&&q)))K#.I-JKKKKK#.H-IJJJJ / /Re%!EE 	/		#s##++BGK==AOOYq\\1-...  N
 ;,nEEE C&q)>BBBB" 
$ 
$s88q==QQ3q6):):QtAAXX]]"%a&#a&3q6(Ic!f<M<M"MAtWaa"%a&#a&3q6(Ic!f<M<M"MAtWaQU%,  . . 	$OOQF###/ 0 0R..sB77 	0OOYr]]A.///%''H* / /..r22 	/

3$$,,S#66AOOYq\\1-.../ /r   c                     g g }                      d          }|r                    d           |                    d           t          D ]C}                     |dg          }|r'|                    dt	          |          z  df           D fd} |d            |d	            |d
           |fS )Nz	complex.h)HAVE_COMPLEX_Hru   )NPY_USE_C99_COMPLEXru   r   zNPY_HAVE_%sru   c                 Z     fdt           D             }t          d |D                       }                    |||          sD|D ]?}                    |dd          r$                    t          |          df           @d S                     d |D                        d S )Nc                     g | ]}|z   S r*   r*   )ro   rp   precs     r   rq   z5check_complex.<locals>.check_prec.<locals>.<listcomp>  s    999!QX999r   c                     g | ]}|d fS rm   r*   rn   s     r   rq   z5check_complex.<locals>.check_prec.<locals>.<listcomp>  s    222q!T222r   )rc   rb   ra   Tru   c                 0    g | ]}t          |          d fS rt   rv   rn   s     r   rq   z5check_complex.<locals>.check_prec.<locals>.<listcomp>  s#    >>>1illA.>>>r   )C99_COMPLEX_FUNCSrx   ry   rf   r[   rw   rz   )r   flistrb   rp   ri   rj   privs   `   r   
check_precz!check_complex.<locals>.check_prec  s    9999'8999E22E22233D**5t$5= + ? ? @ 7 7A((D3; ) = = 7Yq\\1$56667 7
 >>>>>?????r   r   rp   l)check_headerr[   C99_COMPLEX_TYPES
check_typetype2def)ri   rj   pubr}   tr   r   s   ``    @r   r&   r&      s   D
C 
		[	)	)B	 )***

-..." 	= 	=A""1{m"<<B =

MHQKK7;<<<
	@ 
	@ 
	@ 
	@ 
	@ 
	@ 
	@ 	
2
3
39r   c                 	   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          }|s4d}dt          j        v rd	}t          d
                    |                    |                      d          }|r*|                    d           |                    d           |                      d          }|r*|                    d           |                    d           dD ]}	|                     dt          |	          z  dg          }|r8|                    dt          |	          z  dt          |	          z  f           d|                     |	||	                   }|dk    r+|                    dt          |	          z  d|z  f           t          d|	z            dD ]/}	|                     dt          |	          z  dg          }
|                     |	||	                   }|dk    r]|                    dt          |	          z  d|z  f           |
s0|	dk    s*|                    dt          |	          z  d|z  f           nt          d|	z            d|	d|	d}|                     |d ||	         D                       }|dk    r,|                    dt          |	          z  d|z  f           t          d|z            d D ]}	|                     |	dgt                      g||	         !          }|dk    rU|                    dt          |	          z  d|z  f           |                    dt          |	          z  d|z  f           t          d|	z            |                     d"dg          r|                     d"dgt                      g|d"         !          }|dk    rU|                    dt          d"          z  d|z  f           |                    dt          d"          z  d|z  f           nt          dd"z            |                     d#|d#                   }|dk    r+|                    dt          d#          z  d|z  f           nt          dd#z            |                     d$dg          st          d%          ||fS )&Nr         )      r   )
shortintlongr;   doublelong doublePy_intptr_tPY_LONG_LONG	long longoff_tr   python__pypy__pypyzICannot compile 'Python.h'. Perhaps you need to install {0}-dev|{0}-devel.zendian.h)HAVE_ENDIAN_Hru   )NPY_HAVE_ENDIAN_Hru   zsys/endian.h)HAVE_SYS_ENDIAN_Hru   )NPY_HAVE_SYS_ENDIAN_Hru   )r   r   r   z	SIZEOF_%sr   zNPY_SIZEOF_%s)expectedr   z%dzChecking sizeof (%s) failed !)r;   r   r   r   zstruct {z __x; z __y;}c                     g | ]}d |z  S )r   r*   )ro   xs     r   rq   zcheck_types.<locals>.<listcomp>P  s    2Q2Q2QQ1q52Q2Q2Qr   zNPY_SIZEOF_COMPLEX_%s)r   r   )re   library_dirsr   r   r   CHAR_BITzCConfig wo CHAR_BIT is not supported, please contact the maintainers)r   r0   builtin_module_namesr   formatr[   r   sym2defcheck_type_sizerK   rA   )
config_cmdr   	build_dirprivate_definespublic_definesr   resultr   restypealready_declaredcomplex_defs               r   r   r     s   ON
 aS1a&KKK !1vs!Q! !H $$Z00F =111F--3VF^^= = 	= 
!
!*
-
-C
 834446777

!
!.
1
1C
 <7888:;;; ) 	J 	J##K'$--$?*#VV 	J!!?WT]]#BKRYZ^R_R_D_"`aaaa,,THTN,KKCaxx%%'Fs
&STTTT!"AD"HIII2 M M%00wt}}1L:D 1 G G(((GG!88!!?WT]]#BD3J"OPPP# RDM,A,A&&gdmm(CTCZ'PQQQ=DEEE
 59DD$$$?((2Q2Q(4.2Q2Q2Q ) S S!88!!#:WT]]#JDSVJ"WXXXX=KLLL( 	F 	F((
|+oo.!$ ) ) ) !88""K'$--$?#LMMM!!?WT]]#BD3J"OPPPP=DEEE ^j\BB M((:,+oo.!.1 ) 3 3 !88""K'.2I2I$I4RU:#VWWW!!?W^5L5L#LdUXj"YZZZZ=NOOO((!+. ) 0 0!88!!?W[5I5I#I4RU:"VWWWW=KLLL  j\ BB 0/0 0 	0 N**r   c                    g }g dgdgg}t           j                            d          }|r)|                    d|                    d                     |D ] }|                     d|ddd	
          r|} n!t          d          |S )Nr   cpmlMATHLIBr   ,r   r   zdouble log(double);T)ra   rd   rb   rc   zKmath library missing; rerun setup.py after setting the MATHLIB env variable)r6   rP   getinsertsplitrf   rA   )r   rj   mathlibs_choicesmathlibrG   s        r   check_mathlibr   }  s    HSEF8,jnnY''G 77==#5#5666  
 
  & ! 
 
 	 HE	 #
 
 	
 Or   c                 :    d}|                      |d          r|S dS )zSReturn the define value to use for NPY_VISIBILITY_HIDDEN (may be empty
    string).z%__attribute__((visibility("hidden")))hidemer   )r   )ri   hides     r   visibility_definer     s+     3D**4:: rr   r   c                 ,   !"#$%&' ddl m}m"m} ddlm}m}m} ddlm	}  |d| |          !!j
        }t          |d           t          t                      t                       t           d          $ "!j        d          }	 |d	                    |	                    d
                    $          #d%t#                      !%fd}
!%fd} !%f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           nB!                    dg           !                    dg           !                    dg           !j                            !                    d                      t          d d!d"          t           d#          g}t5          d$t6          j        j        fd%g          &!&fd&}t          ddd'          t          ddd(          t          ddd)          t          ddd*          t          ddd+          g}!                    d||gz   d,g t>          gd-.           !                     d/d0&           !                     d1d0&           !!                    d2t          ddd3          t          ddd4          t          ddd5          t          ddd6          gt          ddd7          t          ddd8          t          ddd9          t          ddd:          gdg;           t          ddd<d=          t          ddd>          t          ddd?          t          ddd@          t          dddA          t          ddd7          t          ddd8          t          dddB          t          dddC          t          dddD          t          dddE          t          ddd:          t          dddF          t          ddd9          t          dddG          t          dddH          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dOdP          t          dddQ          g}t          dddR          t          ddd4          t          ddd5          t          ddd6          t          dddS          t          dddI          t          dddT          t          dddU          t          dddV          t          dddW          g
}t6          j"        #                    dXdY          dYk    r |dZd[          }n |d\d          }|od]|#                    d^g           v }|r8|}|                    t          ddd_          t          ddd`          g           ni }g t          ddda          t          dddb          t          dddc          t          dddd          t          ddde          t          dddf          t          dddg          t          dddh          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dd          t          d d!db          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          |z   }g t          ddd          t          ddd          t          ddd          t          dddc          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          t          ddd          t          ddd          t          ddd          }#$%fd} !"%fd}g 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di          t          ddd          t          dddI          t          ddd          t           d          t           d          g	}t          d!dddd          }g }d'tI                      rZtK          j%        |dz   d          }'fd|D             }|&                                 tO                      sd |D             }!!                    d||z   |z   |
||t           d          t          d          |||gz   ||z   |z   |z   dg||           !!                    dt          ddd          t          ddd          t          dddW          g           !!                    dt          ddd           g           !!                    d!t          ddd"          g           !!                    d#t          ddd$          g           !!                    dt          dddW          t          ddd%          t          ddd&          t          ddd'          t          ddd(          gt          dddN          t          dddOdP          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g;           !(                    d.           !                    d/           !                    d0           !)                    d1           !*                                 !S (2  Nr   )Configurationdot_joinexec_mod_from_location)get_infoblas_opt_infolapack_opt_info)releasecorecode_generatorszgenerate_umath.pygenerate_umathr   r   zinclude/numpyc           	      
   t          |d          }t          j                            |          }t          j                            |          st          j        |           t          t          |          rӉ                                }t          j
        d|                               || |          \  }}t          |          }|                    dd                     |          f           t          || ||           |                                        ||          d                    t#                      r|                    d           t$          j        dk    st          j        dk    rt+          |           |                    d	|                                f           |                                }t1                      r|                    d
           t2          r|                    d           n|                    d           t5          |          }	|                    d|	z  df           t7          |          rT|                    d           |                    d           |                    d           |                    d           t9          |d          5 }
t$          j        dk    r|
                    d           |D ]X}t=          |t>                    r|
                    d|z             0|
                    d|d         d|d         d           Y|
                    d           |dk    r|
                    d           n|
                    d|z             |
                    d           |
                    tA          j!        d                     d d d            n# 1 swxY w Y   t          j
        d |z             t9          |          5 }
t          j
        |
"                                           d d d            n# 1 swxY w Y   t          j
        d!           ng }t9          |          5 }
|
D ]l}d"}|#                    |          rS|tI          |          d          %                                }|r(|                    |&                    d                     m	 d d d            n# 1 swxY w Y   tO          | d#          r| j(                            |           t          j                            |          }|j)        vrj)                            |           |S )$Nzconfig.hGenerating %sr   r   r   NPY_NO_SIGNALrF   ntNPY_RESTRICT)NPY_CAN_LINK_SVMLru   r   ru   )r   r   zHAVE_LDOUBLE_%sru   $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darwinz3/* may be overridden by numpyconfig.h on darwin */
#define %s
#define  
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 MATHLIBra   )*r   r6   rI   dirnameexistsmakedirsr   __file__get_config_cmdr   infor   r   r[   r   rz   r&   rM   r0   r2   rZ   r]   check_restrictcheck_inliner3   r    check_long_double_representation-check_for_right_shift_internal_compiler_erroropenwrite
isinstancer   textwrapdedentread
startswithr   r9   r   hasattrra   numpy_include_dirs)r   r   targetdr   r~   ignoredrj   r	  reptarget_flinesvalueincl_dircocacheri   
header_dirs                  r   generate_config_hz(configuration.<locals>.generate_config_h  s   iZ88GOOF##w~~a   	KNNN6"" Y	>..00JH_f--- !( 3 3JY O OHg %Z00HOOY(:(:;<<<#JXxHHHOOG11*hGGJKKK  !! 1000 |w&&"'T//X&&& OO^Z-F-F-H-HIJJJ  ,,..F : 8999
 ) B @AAAA @AAA 3:>>COO.4a8999<ZHH M FGGG GHHH JKKK KLLL fc"" h<8++NNN   " I IA!!S)) I ~';<<<< AaDDD!A$$$'GHHHH 6777X%%NN#:;;;;NN#86#ABBBz*** x 0       +              6 HZ&()))f *)))* * * * * * * * * * * * * * *HUOOOOHf >$ > >D)Aq)) > $SVVWW 3 3 5 5  >$OOEKK,<,<===>> > > > > > > > > > > > > > > 3$$ 	+M  ***7??6**6444%,,X666s8   8DO

OO;'P..P25P2A0SS #S c           	                              t          |dd                                          t          |dd                     t          |d          }t          j                            |          }t          j                            |          st          j        |           t          t          |          r	                                }t          j        d|           
                    || |          \  }}t                      r|                    d           t                      r|                    d           n|                    d           t!          |          }|                    
                    ||          d	                    t&          r|                    d
           |                    ddg          r|                    d           t+          |          }|                    d|f           |                    ddt,          z  f           |                    ddt.          z  f           t1          |d          5 }	|D ]X}t3          |t4                    r|	                    d|z             0|	                    d|d         d|d	         d           Y|	                    t9          j        d                     ddd           n# 1 swxY w Y   t          j        d|z             t1          |          5 }	t          j        |	                                           ddd           n# 1 swxY w Y   t          j        d                               |f           |S )z@Depends on config.h: generate_config_h has to be called before !srccommonnpymathz_numpyconfig.hr   )r   ru   )
NPY_NO_SMPru   )r/  r   ru   r   PRIdPTRz
inttypes.hr   )NPY_USE_C99_FORMATSru   NPY_VISIBILITY_HIDDENNPY_ABI_VERSIONz0x%.8XNPY_API_VERSIONr  r  r  r   r  r  z
                    #ifndef __STDC_FORMAT_MACROS
                    #define __STDC_FORMAT_MACROS 1
                    #endif
                    Nr
  r  ) add_include_dirsr   r6   rI   r  r  r  r   r  r  r   r  r   rM   r[   rQ   r   rz   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!  r~   rj   hidden_visibilityr#  r(  ri   r)  s             r   generate_numpyconfig_hz-configuration.<locals>.generate_numpyconfig_h&  s    	Yx @ @AAAYy A ABBBi-=>>GOOF##w~~a   	KNNN6"" 4	..00JH_f--- !( 3 3JY O OGX!! 6 4555 3 12222 1222$Z00HOOG11*hGGJKKK( B @AAA $$Y$GG < :;;; !2* = =OO46GHIII OO.=0HIJJJOO.=0HIJJJ fc"" h! I IA!!S)) I ~';<<<< AaDDD!A$$$'GHHHH x 0                      HZ&()))f *)))* * * * * * * * * * * * * * *HUOOOz62333s%   BK,,K03K0'MMMc                       fd}|S )Nc                    t          	dz             }t          j                            d           	 t	          	          }t          j        d|           |                    t          j                             |                    \  }}t          j        d= n# t          j        d= w xY w	                    |f           |fS )Nz.pyr   zexecuting %s)
r   r0   rI   r   
__import__r   r  generate_apir6   r8  )
r   r   scriptr   h_filec_filecodegen_dirri   r)  module_names
         r   r>  z>configuration.<locals>.generate_api_func.<locals>.generate_apij  s    +{U':;;FHOOA{+++ {++000!"Y
0S0S!T!THQKKCHQK!!:v"6 # # #9s   AB B-r*   )rC  r>  rB  ri   r)  s   ` r   generate_api_funcz(configuration.<locals>.generate_api_funci  s4    	 	 	 	 	 	 	 	 r   generate_numpy_apigenerate_ufunc_apir,  r-  r.  
multiarrayumathnpysort_simd)NPY_INTERNAL_BUILDr   )HAVE_NPY_CONFIG_Hr   r   aix)_LARGE_FILESN)_FILE_OFFSET_BITS64)_LARGEFILE_SOURCEr   )_LARGEFILE64_SOURCEr   includenumpyz	*object.hz	genapi.pyr   )pkgnamez
numpy.corec                                                       }t          |          }d                    d |D                       }d                    d |D                       }|d<   |d<   d S )Nr  c                     g | ]}d |z  S )z-l%sr*   ro   r   s     r   rq   z;configuration.<locals>.get_mathlib_info.<locals>.<listcomp>  s    999avz999r   c                     g | ]}d |z  S )z%s.libr*   rX  s     r   rq   z;configuration.<locals>.get_mathlib_info.<locals>.<listcomp>  s    :::qhl:::r   posix_mathlibmsvc_mathlib)r  r   r   )r   r   mlibs
posix_mlib	msvc_mlibri   
subst_dicts        r   get_mathlib_infoz'configuration.<locals>.get_mathlib_info  s}     **,,
j))XX995999::
HH::E:::;;	&0
?#%.
>"""r   znpy_math_internal.h.srcz
npy_math.czieee754.c.srcznpy_math_complex.c.srczhalffloat.cpp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)rd  dependsra   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
common.hppzarray_assign.cznpy_longdouble.czucsnarrow.czufunc_override.cz	numpyos.cznpy_cpu_features.cNPY_USE_BLAS_ILP64r   blas_ilp64_optr   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dtype_traversal.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dtype_traversal.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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.cppzarm64_exports.czsimd_qsort.dispatch.cppzsimd_qsort_16bit.dispatch.cppc                    t          |d          }t          j                            |          }t          j                            |          st          j        |           }t          ||          r[t          |d          5 }|                    	                    j
        j                             d d d            n# 1 swxY w Y   g S )Nz__umath_generated.cr  )r   r6   rI   r  r  r  r   r  r  	make_codedefdictr  )	r   r   r  dirr?  rp   r   generate_umath_pyr)  s	         r   generate_umath_cz'configuration.<locals>.generate_umath_c  s   i-BCCgoof%%w~~c"" 	K"   	Kfc"" Ka001G1?1HJ J K K KK K K K K K K K K K K K K K K 	s   4CCCc                    ddl m} t          |d          }t          j                            |          }t          j                            |          st          j        |           t          d          }t          ||          rZ 
	j	        d          } |d                    |
                    d                    |          }|                    |           d S d S )Nr   )r   z_umath_doc_generated.hzgenerate_umath_doc.pygenerate_umath_docr   r   )rX   r   r   r6   rI   r  r  r  r   rZ   r   
write_code)r   r   r   r  rt  generate_umath_doc_pynrx  rB  ri   r   r)  s           r   generate_umath_doc_headerz0configuration.<locals>.generate_umath_doc_header  s    DDDDDDi-EFFgoof%%w~~c"" 	K $[2I J J&// 	2&:;;A!7!7&&(="? "?))&11111		2 	2r   zumathmodule.czreduction.czfuncs.inc.srczloops.h.srczloops_utils.h.srczloops.c.srczloops_unary.dispatch.c.srczloops_unary_fp.dispatch.c.srcz loops_unary_fp_le.dispatch.c.srczloops_arithm_fp.dispatch.c.srczloops_arithmetic.dispatch.c.srczloops_logical.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loops_comparison.dispatch.c.srcz"loops_unary_complex.dispatch.c.srczloops_autovec.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string_ufuncs.cppz_scaled_float_dtype.cz
override.hzgenerate_ufunc_api.pyzufunc_docstrings.pysvmlr*   z/**/*.sT)	recursivec                 >    g | ]}|                               |S r*   endswith)ro   osvml_filters     r   rq   z!configuration.<locals>.<listcomp>  s*    III1K1H1HIQIIIr   c                 <    g | ]}|                     d           |S )z_h_la.sr  )ro   r  s     r   rq   z!configuration.<locals>.<listcomp>  s)    KKKqQZZ	5J5JKKKKr   _multiarray_umathzgenerate_numpy_api.pyz*.py)rd  rh  ra   extra_objects
extra_info_umath_testsz_umath_tests.c.srcz_umath_tests.dispatch.c)rd  _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testsz
tests/dataztests/examplesz*.pyi)+rX   r   r   r   numpy.distutils.system_infor   r   r   numpy.versionr   
local_pathr   check_api_versionr7  rD   rZ   r   r   r5  add_data_diradd_define_macrosr0   r2   r  rz   pathsrx   r6   rI   r   add_installed_libraryr   add_npy_pkg_configadd_extensionrP   r   r3   globsortr>   add_subpackager8  make_svn_version_py)(parent_packagetop_pathr   r   r   r   r   is_released	local_dirr{  r*  r:  rD  rE  rF  depsr`  npymath_sourcescommon_deps
common_src	blas_info	have_blasr  multiarray_depsmultiarray_srcrv  r|  	umath_src
umath_deps	svml_path	svml_objsr(  rB  ri   r   r   ru  r)  r_  r  s(                                  @@@@@@@@@r   configurationr    s   C C C C C C C C C C> > > > > > > > > >444444]6>8<<F!Iy"344K m[111[*=>>.//A++CHHQWWS\\,B,B,=? ?N !JnnGk k k k k k kZA A A A A A AF       +*+?@@**+?@@
DE8<<===
DE22333
DOO,,,
(((
D	22333
D55666
D00111
D	22333
D00111
9:;;;
89:::
|BQB5    "8!9::::  "=!>???  "<!=>>>  ">!?@@@
$$V\\)%<%<===G[11k**D rw{+-FGHHJ
/ 
/ 
/ 
/ 
/ 
/ E9.GHHE9l;;E9o>>E9.FGGE9o>>O   #'7&88!#(8'9  !    .0D  
m-A   ,!%7PQQ!%?CC!%3CDD!%3DEEG "%?CC!%3CDD!%3DEE!%3DEEG  )k  	+ 	+ 	+  (J77"233"455.11"<==/22"233-00.11.11.11"344.11"344"455,//"677-00"455/22+.."677&(33,//1
K8 "233/22"233"344"455"677-00"455+.."677J 
z~~*C00C77H-q11		HZ++	X2immOUW6X6XXI 
 	4x@@x1BCC 	 	 	 	 
<&899<o66< &899< &@AA	<
 &899< &677< n55< o66< j11< &677< &:;;< k22< &:;;< i00< n55<  m44!<" &899#<$ &9::%<& k22'<( &677)<* &899+<, &GHH-<. j11/<0 m441<2 m443<4 &EFF5<6 k227<8 k229<: &:;;;<< o66=<> j11?<@ l33A<B o66C<D l33E<F i00G<H l33I<J l33K<L m44M<N h//O<P m\BBQ<R G_55S<T G%CDDU<V G^44W<X G%566Y<Z G\22[<\ G%677]<^ G%566_<` G\22a<b G]33c<d G^44e<f GZ00g<h GY//i<j G%677k<l G[11m<n G_55o<p G%566q<r G%?@@s<x  y< O|S&899Si00S o66S &899	S
 &899S &>??S &899S &677S &=>>S &<==S &@AAS j11S o66S &788S j11S  &677!S" k22#S$ &:;;%S& &:;;'S( i00)S* l33+S, &:;;-S. &9::/S0 &<==1S2 n553S4 j115S6 m447S8 k229S: &899;S< &9::=S> n55?S@ &<==ASB &GHHCSD o66ESF j11GSH m44ISJ &899KSL m44MSN &EFFOSP &DEEQSR k22SST k22USV &:;;WSX &:;;YSZ n55[S\ &788]S^ &788_S` j11aSb l33cSd l33eSf i00gSh m44iSj &9::kSl l33mSn n55oSp l33qSr m44sSt h//uSv "233wSx 	?33ySz 	?33{S| 	=11}S~ 	>22S@ 	?33ASB "344CSD 	?33ESF "344GSH 	?33ISJ m_EEKSL m_EEMSN mZ@@OSP m\BBQSR mX>>SST m5HIIUSV m^DDWSX m^DDYS` 	#455aSb 	#<==cSd 	#BCCeSNr
 
 
 
 
 
 
2 2 2 2 2 2 2 2%11%//% 11% //	%
 !455% //% !=>>% !@AA% !CDD% !ABB% !BCC% !?@@% !>??% !EFF% !@AA%  !DEE!%" !BCC#%$ !>??%%& !BCC'%( !EFF)%* !?@@+%, 00-%. 00/%0 **1%2 ,,3%4 115%6 !8997%8 !:;;9%: !122;%< ,,=%> !344?%@ !:;;A%B ..C%D !455E%H !899I%IP G\22G]33j11j11"677..566344
J WfeWf==IIK LIi)3tDDD	IIII	III	 	!## 	LKKIKKKI
,!/)!;!+","3"8"4"&{4K"L"L"&v,,"2";"4"#
"# "&!7*!D +",$-;'0$.!  0 0 0, UG122UG677UH2332    *!%2EFFG  I I I .!%2IJJK  M M M .!%2IJJK  M M M "677++!233!566!788
 "677&(33++!233!56611!455!788!344

 +%    * '"""
%%%
()))
'"""
   Mr   __main__)setup)r  )r   N)+r6   r0   r.   r   r   warningsr  r  os.pathr   numpy.distutilsr   numpy.distutils.msvccompilerr   distutils.dep_utilr   r   numpy.compatr   setup_commonrP   r   r
   r   r   r   r   r3   r>   rD   rK   rM   rQ   r]   r   r&   r   r   r   r  r'   numpy.distutils.corer  r*   r   r   <module>r     s   				 



                      9 9 9 9 9 9 $ $ $ $ $ $ $ $ $ $ $ $ ( ( ( ( ( (     !#
/Ms S SWZ Z # H
+	GH H H  Z^^,GMMQTT 5V:V 
 JNN#5s;;sB        0	% 	% 	%
 
 
M M M( ( (# # #
	% 	% 	%: : : f/ f/ f/P  Bc+ c+ c+N  2  v
 v
 v
 v
p z******	E&&&&&& r   