o
    Eb                     @   sZ   d dl Z d dlZd dlZdd Zdd Zdd Zdd	 Zed
kr+e  e  e  dS dS )    Nc                  C   s2   ddl } td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                 s   s    | ]}t |V  qd S )N)int).0Znum r   ;/usr/lib/python3/dist-packages/scipy/stats/_generate_pyx.py	<genexpr>   s    zisNPY_OLD.<locals>.<genexpr>.   )      )Znumpytuple__version__split)ZnpZverr   r   r   	isNPY_OLD   s   "r   c                  C   s   t tjd  } t| dd}| }W d   n1 s!w   Y  t| dd}||j	t
tt d W d   dS 1 sHw   Y  dS )?Substitute True/False values for NPY_OLD Cython build variable.Z
_biasedurn
.pyx.templrN.pyxw)ZNPY_OLD)pathlibPath__file__parentabsoluteopenwith_suffixreadwriteformatstrboolr   )Zbiasedurn_basesrccontentsdestr   r   r   make_biasedurn   s   
"r#   c                  C   s   ddl } ttjd d  }t|dd}| }W d   n1 s'w   Y  t|dd}|	| 
d	d
t  | W d   dS 1 sNw   Y  dS )r   r   NZ_unuranZunuran_wrapperr   r   r   r   zDEF NPY_OLD = isNPY_OLDzDEF NPY_OLD = )rer   r   r   r   r   r   r   r   r   subr   )r$   Zunuran_baser    r!   r"   r   r   r   make_unuran   s   


"r&   c                  C   s,   t tjd } tjtjt| gdd d S )Nz_boost/include/code_gen.pyT)check)	r   r   r   r   
subprocessrunsys
executabler   )Zcode_genr   r   r   
make_boost'   s   r,   __main__)r   r(   r*   r   r#   r&   r,   __name__r   r   r   r   <module>   s    
	
