a
    ç´«j(  ã                	   @   sü  d dl mZm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
Z
d dlZd dlZd dlmZ zd dlZW n eyŽ   dZY n0 ejjdkr dZzFejdd��&Ze dde¡ d dlZW d  ƒ n1 sÚ0    Y  W n eef�y   dZY n0 zd dlZd d	lmZ W n e�y4   dZY n,0 d d
lmZ dZ e !e¡e "e ¡k �r`dZej#j$ej%dk�ozej&dk dd�ej#j$edd�ej#j$edu dd�ej#j'dd„ ƒƒƒƒZ(ej#j$edu �pÌedu dd�dd„ ƒZ)ej#j$edu dd�dd„ ƒZ*dS )é    )Úspec_from_file_locationÚmodule_from_specN)ÚIS_WASMé   T)ÚrecordÚalwaysÚ )Úversion)Ú_pep440z3.0.6Úwin32l        z7Failing in 32-bit Windows wheel build job, skip for now)ÚreasonzCan't start subprocesszrequires cythonc                    s’  dd l }tj tj t¡d¡}t || d ¡ | d d d }|d ‰tjˆdd� t	j
d	kr|tjd
dddt|ƒgˆd� ntjd
dt|ƒgˆd� tjg d¢ˆd� |  tˆd d ƒ¡}t|d ƒ�D}d}t|ƒD ]\}}||v rÖ qþqÖdsþJ d |¡ƒ‚W d   ƒ n1 �s0    Y  t d¡‰ ‡ ‡fdd„}	|	dƒ |	dƒ |	dƒ}
ddlm} |
 |dƒdd¡}|jdk�s|J ‚|jtjk�sŽJ ‚d S )Nr   z..ÚrandomZ	_examplesÚcythonÚbuildT)Úexist_okr   ÚmesonÚsetupz--buildtype=releasez--vsenv)Úcwd)r   Úcompilez-vvÚ*zextending.pyx.cz+NumPy API declarations from "numpy/__init__Fz-Could not find '{}' in C file, wrong pxd usedÚ
EXT_SUFFIXc                    s0   ˆ|    ˆ ¡}t| |ƒ}t|ƒ}|j |¡ |S )N)Úwith_suffixr   r   ÚloaderÚexec_module)ÚmodnameÚsoÚspecÚmod©ÚsuffixÚ
target_dir© ú`/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/numpy/random/tests/test_extending.pyÚload[   s
    
ztest_cython.<locals>.loadÚ	extendingZextending_cppÚextending_distributions)ÚPCG64é
   Úd)r'   )ÚglobÚosÚpathÚjoinÚdirnameÚ__file__ÚshutilÚcopytreeÚmakedirsÚsysÚplatformÚ
subprocessÚ
check_callÚstrÚopenÚ	enumerateÚformatÚ	sysconfigÚget_config_varZnumpy.randomr&   Zuniforms_exÚshapeZdtypeÚnpZfloat64)Ztmp_pathr)   ÚsrcdirÚ	build_dirÚgZfidZtxt_to_findÚiÚliner#   r%   r&   Úvaluesr!   r   r"   Útest_cython1   sF    
þýÿ
ÿ&
rD   zrequires numba and cffic                  C   s   ddl m}  d S ©Nr   ©r$   )Znumpy.random._examples.numbar$   rF   r!   r!   r"   Ú
test_numbal   s    rG   zrequires cffic                  C   s   ddl m}  d S rE   )Znumpy.random._examples.cffir$   rF   r!   r!   r"   Ú	test_cffiq   s    rH   )+Úimportlib.utilr   r   r*   ÚpathlibZpytestr/   r4   r2   r:   ÚtextwrapÚwarningsÚnumpyr=   Znumpy.testingr   ZcffiÚImportErrorÚflagsÚoptimizeÚcatch_warningsÚwÚfilterwarningsÚDeprecationWarningZnumbaÚSystemErrorr   ZCython.Compiler.Versionr	   Zcython_versionZnumpy._utilsr
   Zrequired_versionÚparseÚVersionÚmarkZskipifr3   ÚmaxsizeZslowrD   rG   rH   r!   r!   r!   r"   Ú<module>   s\   
*

þ4ÿ
