U
    O8c\                  	   @   s  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 zd dlZW n ek
rt   dZY nX ejjdkrdZz2ejddZedde d dlZW 5 Q R X W n eefk
r   dZY nX zd dlZd d	lmZ W n ek
r   dZY n,X d d
lmZ dZeeeek r4dZejj eddejj edkddejj!dd Z"ejj edkp~edkdddd Z#ejj edkdddd Z$dS )    N)exec_mod_from_location)IS_WASM   T)recordalways )version)_pep440z0.29.30zCan't start subprocess)reasonzrequires cythonc                 C   sv  t jt jtd}t|| d  | d d d }tjt	j
ddddt| d	 d
dt| d g	t|d t|d :}d}t|D ]\}}||kr qqdstd|W 5 Q R X d  }}t| d 0}|D ]$}d|kr| }d|kr| }qW 5 Q R X |d k	st|d k	sttd| td|}	ddlm}
 |	|
ddd}|jdks`t|jtjksrtd S )Nz..randomZ	_examplescythonzsetup.pybuildinstallz--prefixZ
installdirz#--single-version-externally-managedz--recordztmp_install_log.txt)cwdzextending.cz0NumPy API declarations from "numpy/__init__.pxd"Fz-Could not find '{}' in C file, wrong pxd usedz
extending.extending_distributions	extendingr   )PCG64
   d)r   )ospathjoindirname__file__shutilcopytree
subprocess
check_callsys
executablestropen	enumerateAssertionErrorformatstripr   Znumpy.randomr   Zuniforms_exshapeZdtypenpZfloat64)Ztmp_pathsrcdir	build_dirZfidZtxt_to_findilineZso1Zso2r   r   values r-   E/tmp/pip-unpacked-wheel-fd_gsd75/numpy/random/tests/test_extending.pytest_cython/   sL     
 
	

 r/   zrequires numba and cffic                  C   s   ddl m}  d S Nr   r   )Znumpy.random._examples.numbar   r1   r-   r-   r.   
test_numba\   s    r2   zrequires cffic                  C   s   ddl m}  d S r0   )Znumpy.random._examples.cffir   r1   r-   r-   r.   	test_cffia   s    r3   )%r   Zpytestr   r   r   warningsZnumpyr'   Znumpy.distutils.misc_utilr   Znumpy.testingr   ZcffiImportErrorflagsoptimizecatch_warningswfilterwarningsDeprecationWarningZnumbaSystemErrorr   ZCython.Compiler.Versionr   Zcython_versionZnumpy.compatr	   Zrequired_versionparseVersionmarkZskipifZslowr/   r2   r3   r-   r-   r-   r.   <module>   sN   


*
