o
    g                     @   s   d Z ddlZddlZddlZddlmZ ddlm	Z	 e Z
ejdr)e
dZnejdr5e
dZnede
d e	 ZejZejZejZd	d
 ZejeddZee
deZedeZeedd  dS )a#  
Building the required library in this example requires a source distribution
of NumPy or clone of the NumPy git repository since distributions.c is not
included in binary distributions.

On *nix, execute in numpy/random/src/distributions

export ${PYTHON_VERSION}=3.8 # Python version
export PYTHON_INCLUDE=#path to Python's include folder, usually \
    ${PYTHON_HOME}/include/python${PYTHON_VERSION}m
export NUMPY_INCLUDE=#path to numpy's include folder, usually \
    ${PYTHON_HOME}/lib/python${PYTHON_VERSION}/site-packages/numpy/_core/include
gcc -shared -o libdistributions.so -fPIC distributions.c \
    -I${NUMPY_INCLUDE} -I${PYTHON_INCLUDE}
mv libdistributions.so ../../_examples/numba/

On Windows

rem PYTHON_HOME and PYTHON_VERSION are setup dependent, this is an example
set PYTHON_HOME=c:\Anaconda
set PYTHON_VERSION=38
cl.exe /LD .\distributions.c -DDLL_EXPORT \
    -I%PYTHON_HOME%\lib\site-packages\numpy\_core\include \
    -I%PYTHON_HOME%\include %PYTHON_HOME%\libs\python%PYTHON_VERSION%.lib
move distributions.dll ../../_examples/numba/
    N)FFI)PCG64z./distributions.dllz./libdistributions.soz#Required DLL/so file was not found.z4
double random_standard_normal(void *bitgen_state);
c                 C   s(   t | }t| D ]}t|||< q	|S )N)npemptyrangerandom_standard_normal)nbit_generatorouti r   n/var/www/html/api-tag/env/lib/python3.10/site-packages/numpy/random/_examples/numba/extending_distributions.pynormals5   s   
r   T)nopython	uintptr_ti     )__doc__osnumbanbnumpyr   cffir   numpy.randomr   ffipathexistsdlopenlibRuntimeErrorcdefxxffir	   r   r   jitnormalsjintcastbit_generator_addressnormprintr   r   r   r   <module>   s,    

