o
    z¨Êh”  ã                	   @   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mZ zd dlZW n eyI   dZY nw ejjdkrRdZz#ejdd��Ze dde¡ d dlZW d  ƒ n1 sow   Y  W n eefy‚   dZY nw zd dlZd d	lmZ W n eyš   dZY nw d d
lm Z  dZ!e  "e¡e  #e!¡k r¯dZej$j%edd�ej$j%ej&dkoÂe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ÚIS_EDITABLEé   T)ÚrecordÚalwaysÚ )Úversion)Ú_pep440z3.0.6z)Editable install cannot find .pxd headers)ÚreasonÚwin32l        z7Failing in 32-bit Windows wheel build job, skip for nowz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}t|ƒD ]
\}}||v ru nqkJ d |¡ƒ‚W d   ƒ n1 s‡w   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..ÚrandomÚ	_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© úS/var/www/html/env/lib/python3.10/site-packages/numpy/random/tests/test_extending.pyÚload_   s
   
ztest_cython.<locals>.loadÚ	extendingÚ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_varÚnumpy.randomr)   Úuniforms_exÚshapeÚdtypeÚnpÚfloat64)Útmp_pathr,   ÚsrcdirÚ	build_dirÚgÚfidÚtxt_to_findÚiÚliner%   r(   r)   Úvaluesr#   r    r$   Útest_cython1   sL   
þýÿÿÿþü
	rN   zrequires numba and cffic                  C   ó   ddl m}  d S ©Nr   ©r&   )Únumpy.random._examples.numbar&   rQ   r#   r#   r$   Ú
test_numbap   s   rS   zrequires cffic                  C   rO   rP   )Únumpy.random._examples.cffir&   rQ   r#   r#   r$   Ú	test_cffiu   s   rU   ),Úimportlib.utilr   r   r-   ÚpathlibÚpytestr2   r7   r5   r=   ÚtextwrapÚwarningsÚnumpyrC   Únumpy.testingr   r   ÚcffiÚImportErrorÚflagsÚoptimizeÚcatch_warningsÚwÚfilterwarningsÚDeprecationWarningÚnumbaÚSystemErrorr   ÚCython.Compiler.Versionr
   Úcython_versionÚnumpy._utilsr   Úrequired_versionÚparseÚVersionÚmarkÚskipifr6   ÚmaxsizeÚslowrN   rS   rU   r#   r#   r#   r$   Ú<module>   sp    ÿ
ý€þÿþþ4ÿ
