
     h|
                     .   d dl Z d dlZd dlZd dlZd dlZd Zd Zd ZddZe	dk    rl ej
                    Ze                    dd	ed
           e                                Zej        s e j        ej                            ej                            e                              Z ee           edz  dz  Zej                            e          s ej        e            eed           edz  Z eee           dS  e j        ej                            ej                            e                              Z e j         ej                              ej        z  Z ee            ee            eedz  e           dS dS )    Nc                      ddl } t          d | j                            d          dd         D                       }|dk     S )z
    A new random C API was added in 1.18 and became stable in 1.19.
    Prefer the new random C API when building with recent numpy.
    r   Nc              3   4   K   | ]}t          |          V  d S )N)int).0nums     U/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/scipy/stats/_generate_pyx.py	<genexpr>zisNPY_OLD.<locals>.<genexpr>   s(      BBSCBBBBBB    .   )      )numpytuple__version__split)npvers     r   	isNPY_OLDr      sO    
 
BBBN$8$8$=$=bqb$ABBB
B
BC=r
   c                    t          j        t                    j        dz                                  }t          |                    d          d          5 }|                                }ddd           n# 1 swxY w Y   | dz  }t          |d          5 }|                    |	                    t          t          t                                                               ddd           dS # 1 swxY w Y   dS )?Substitute True/False values for NPY_OLD Cython build variable.
_biasedurnz
.pyx.templrNz_biasedurn.pyxw)NPY_OLD)pathlibPath__file__parentabsoluteopenwith_suffixreadwriteformatstrboolr   )outdirbiasedurn_basesrccontentsoutfiledests         r   make_biasedurnr.      sg   l8,,3lBLLNNN	n((66	<	< 88::               ''G	gs		 Dt

8??3tIKK/@/@+A+A?BBCCCD D D D D D D D D D D D D D D D D Ds%   A88A<?A<AC55C9<C9c           	      V   ddl }t          | dz  d          5 }|                                }ddd           n# 1 swxY w Y   t          |dz  d          5 }|                    |                    ddt                       |                     ddd           dS # 1 swxY w Y   dS )	r   r   Nzunuran_wrapper.pyx.templr   zunuran_wrapper.pyxr   zDEF NPY_OLD = isNPY_OLDzDEF NPY_OLD = )rer!   r#   r$   subr   )srcdirr(   r0   r*   r+   r-   s         r   make_unuranr3      s2   III	f113	7	7 388::              	f++S	1	1 %T

266389;;88"$ $ 	% 	% 	%% % % % % % % % % % % % % % % % % %s   9= =:BB"%B"Fc                    t          j        t                    j        dz  }|r5t	          j        t          j        t          |          d| ddgd           d S t	          j        t          j        t          |          d| gd           d S )Nz_boost/include/code_gen.py-oz--distutils-buildTrueT)check)	r   r   r   r   
subprocessrunsys
executabler&   )r(   distutils_buildcode_gens      r   
make_boostr>   (   s    |H%%,/KKH #HtV+V5<@	B 	B 	B 	B 	B 	B 	HtVD!	# 	# 	# 	# 	# 	#r
   __main__r5   z--outdirzPath to the output directory)typehelp_boostr*   T)r<   _unuran)F)r   r8   r:   osargparser   r.   r3   r>   __name__ArgumentParserparseradd_argumentr&   
parse_argsargsr(   r   pathabspathdirnamer   
outdir_absoutdir_abs_boostexistsmakedirsoutdir_abs_unuran
srcdir_absgetcwd r
   r   <module>rW      s        



 				   D D D% % %# # # # z$X$&&F
js;  = = =D; 8!W\"'//"'//(2K2K"L"LMM
z"""%058w~~.// 	*BK()))
#T::::&2%'899999 "W\"'//"'//(2K2K"L"LMM
!W\)")++..<
z"""
:J*J777771 r
   