Repository URL to install this package:
|
Version:
1.7.1 ▾
|
from os.path import join
from numpy.distutils.misc_util import get_info
def pre_build_hook(build_ext, ext):
from scipy._build_utils.compiler_helper import get_cxx_std_flag
std_flag = get_cxx_std_flag(build_ext._cxx_compiler)
if std_flag is not None:
ext.extra_compile_args.append(std_flag)
def configuration(parent_package='', top_path=None):
from numpy.distutils.misc_util import Configuration
from scipy._build_utils.compiler_helper import set_cxx_flags_hook
import numpy as np
config = Configuration('stats', parent_package, top_path)
config.add_data_dir('tests')
statlib_src = [join('statlib', '*.f')]
config.add_library('statlib', sources=statlib_src)
# add statlib module
config.add_extension('statlib',
sources=['statlib.pyf'],
f2py_options=['--no-wrap-functions'],
libraries=['statlib'],
depends=statlib_src)
# add _stats module
config.add_extension('_stats',
sources=['_stats.c'])
# add mvn module
config.add_extension('mvn',
sources=['mvn.pyf', 'mvndst.f'])
# add _sobol module
config.add_extension('_sobol',
sources=['_sobol.c'])
config.add_data_files('_sobol_direction_numbers.npz')
# add _qmc_cy module
ext = config.add_extension('_qmc_cy',
sources=['_qmc_cy.cxx'])
ext._pre_build_hook = set_cxx_flags_hook
# add BiasedUrn module
config.add_data_files('biasedurn.pxd')
from _generate_pyx import isNPY_OLD # type: ignore[import]
NPY_OLD = isNPY_OLD()
if NPY_OLD:
biasedurn_libs = []
biasedurn_libdirs = []
else:
biasedurn_libs = ['npyrandom', 'npymath']
biasedurn_libdirs = [join(np.get_include(),
'..', '..', 'random', 'lib')]
biasedurn_libdirs += get_info('npymath')['library_dirs']
ext = config.add_extension(
'biasedurn',
sources=[
'biasedurn.cxx',
'biasedurn/impls.cpp',
'biasedurn/fnchyppr.cpp',
'biasedurn/wnchyppr.cpp',
'biasedurn/stoc1.cpp',
'biasedurn/stoc3.cpp'],
include_dirs=[np.get_include()],
library_dirs=biasedurn_libdirs,
libraries=biasedurn_libs,
define_macros=[('R_BUILD', None)],
language='c++',
depends=['biasedurn/stocR.h'],
)
ext._pre_build_hook = pre_build_hook
# add boost stats distributions
config.add_subpackage('_boost')
# Type stubs
config.add_data_files('*.pyi')
return config
if __name__ == '__main__':
from numpy.distutils.core import setup
setup(**configuration(top_path='').todict())