U
    ÉZj   ã                	   @   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	 zd dl
Z
W n ek
rh   dZ
Y nX ejjdkrzdZ
z2ejdd��Ze dde¡ d dlZW 5 Q R X W n e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 �r"dZ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é   T)ÚrecordÚalwaysÚ )Úversion)Ú_pep440z0.29.30zrequires cython)Úreasonc                 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† q®q†ds®td |¡ƒ‚W 5 Q R X d  }}t| d ƒ�0}|D ]$}d|kræ| ¡ }d|krÒ| ¡ }qÒW 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,   úd/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/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   r0   r,   r,   r-   Ú
test_numbaX   s    r1   zrequires cffic                  C   s   ddl m}  d S r/   )Znumpy.random._examples.cffir   r0   r,   r,   r-   Ú	test_cffi]   s    r2   )"r   Zpytestr   r   r   ÚwarningsÚnumpyr&   Znumpy.distutils.misc_utilr   ZcffiÚImportErrorÚflagsÚoptimizeÚcatch_warningsÚwÚfilterwarningsÚDeprecationWarningZnumbar   ZCython.Compiler.Versionr   Zcython_versionZnumpy.compatr   Zrequired_versionÚparseÚVersionÚmarkZskipifZslowr.   r1   r2   r,   r,   r,   r-   Ú<module>   sJ   


*ÿ
