
    ,Vh                        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 	 d dlZej&                  j(                  dkD  rdZ	  ej*                  d      5 Z ej.                  dde       d dlZddd       	 d dlZd d	lmZ d d
lm Z  dZ! e jD                  e       e jF                  e!      k  rdZ	 ejH                  jK                  ed      ejH                  jK                  ejL                  dk(  xr ejN                  dk  d      ejH                  jK                  ed      ejH                  jK                  edu d      ejH                  jP                  d                                    Z)ejH                  jK                  edu xs edu d      d        Z*ejH                  jK                  edu d      d        Z+y# e$ r dZY w xY w# 1 sw Y   `xY w# eef$ r dZY ow xY w# e$ r dZY Bw xY w)    )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           	         dd l }t        j                  j                  t        j                  j	                  t
              d      }t        j                  || dz         | dz  dz  dz  }|dz  t        j                  d       t        j                  d	k(  r&t        j                  d
dddt        |      g       n#t        j                  d
dt        |      g       t        j                  g d       |j                  t        dz  dz              }t        |d         5 }d}t        |      D ]  \  }}||v s n J dj!                  |             	 d d d        t#        j$                  d      fd}	 |	d        |	d        |	d      }
ddlm} |
j+                   |d      dd      }|j,                  dk(  sJ |j.                  t0        j2                  k(  sJ y # 1 sw Y   xY w)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__z-Could not find '{}' in C file, wrong pxd used
EXT_SUFFIXc                     | z  j                        }t        | |      }t        |      }|j                  j	                  |       |S )N)with_suffixr   r   loaderexec_module)modnamesospecmodsuffix
target_dirs       Q/home/dcms/DCMS/lib/python3.12/site-packages/numpy/random/tests/test_extending.pyloadztest_cython.<locals>.load_   sE    7"//7&w3t$$
    	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$   s                @@r%   test_cythonrP   1   s    WW\\"''//(3T:F
OOFHx/08#k1H<IW$JKK
T*
||ww4(#i.: #-	  	wY@",	  5:F
 			#j3&)::;<A	ad AsC ~ 	AGAtd"	AA ,,2F;,?A5 	A %%l3F 	"#<="$00q2sCF<<5   <<2::%%%5A As   +G)G))G2zrequires numba and cffic                      ddl m}  y Nr   r(   )numpy.random._examples.numbar(   rS   s    r%   
test_numbarU   p   s     7r'   zrequires cffic                      ddl m}  y rR   )numpy.random._examples.cffir(   rS   s    r%   	test_cffirX   u   s    5r'   ),importlib.utilr   r   r/   pathlibpytestr4   r9   r7   r?   textwrapwarningsnumpyrE   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skipifr8   maxsizeslowrP   rU   rX    r'   r%   <module>ru      s2   D 	     
     . 99 D	 	 	 	- ".@AA %w}}^$w7G'HH 6   7CKK%$7H   G$<=FdN+<=2&  > >		2&h ETM1TT\4  6767 DDL96 :6I  D  	[! E  FsM   G G1 -G$G1 
H G! G!$G.)G1 1	G>=G>HH