Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wiseplat
GitHub Repository: wiseplat/python-code
Path: blob/master/ invest-robot-contest_TinkoffBotTwitch-main/venv/lib/python3.8/site-packages/numpy/linalg/setup.py
7757 views
1
import os
2
import sys
3
4
def configuration(parent_package='', top_path=None):
5
from numpy.distutils.misc_util import Configuration
6
from numpy.distutils.system_info import get_info, system_info
7
config = Configuration('linalg', parent_package, top_path)
8
9
config.add_subpackage('tests')
10
11
# Configure lapack_lite
12
13
src_dir = 'lapack_lite'
14
lapack_lite_src = [
15
os.path.join(src_dir, 'python_xerbla.c'),
16
os.path.join(src_dir, 'f2c_z_lapack.c'),
17
os.path.join(src_dir, 'f2c_c_lapack.c'),
18
os.path.join(src_dir, 'f2c_d_lapack.c'),
19
os.path.join(src_dir, 'f2c_s_lapack.c'),
20
os.path.join(src_dir, 'f2c_lapack.c'),
21
os.path.join(src_dir, 'f2c_blas.c'),
22
os.path.join(src_dir, 'f2c_config.c'),
23
os.path.join(src_dir, 'f2c.c'),
24
]
25
all_sources = config.paths(lapack_lite_src)
26
27
if os.environ.get('NPY_USE_BLAS_ILP64', "0") != "0":
28
lapack_info = get_info('lapack_ilp64_opt', 2)
29
else:
30
lapack_info = get_info('lapack_opt', 0) # and {}
31
32
use_lapack_lite = not lapack_info
33
34
if use_lapack_lite:
35
# This makes numpy.distutils write the fact that lapack_lite
36
# is being used to numpy.__config__
37
class numpy_linalg_lapack_lite(system_info):
38
def calc_info(self):
39
info = {'language': 'c'}
40
if sys.maxsize > 2**32:
41
# Build lapack-lite in 64-bit integer mode.
42
# The suffix is arbitrary (lapack_lite symbols follow it),
43
# but use the "64_" convention here.
44
info['define_macros'] = [
45
('HAVE_BLAS_ILP64', None),
46
('BLAS_SYMBOL_SUFFIX', '64_')
47
]
48
self.set_info(**info)
49
50
lapack_info = numpy_linalg_lapack_lite().get_info(2)
51
52
def get_lapack_lite_sources(ext, build_dir):
53
if use_lapack_lite:
54
print("### Warning: Using unoptimized lapack ###")
55
return all_sources
56
else:
57
if sys.platform == 'win32':
58
print("### Warning: python_xerbla.c is disabled ###")
59
return []
60
return [all_sources[0]]
61
62
config.add_extension(
63
'lapack_lite',
64
sources=['lapack_litemodule.c', get_lapack_lite_sources],
65
depends=['lapack_lite/f2c.h'],
66
extra_info=lapack_info,
67
)
68
69
# umath_linalg module
70
config.add_extension(
71
'_umath_linalg',
72
sources=['umath_linalg.c.src', get_lapack_lite_sources],
73
depends=['lapack_lite/f2c.h'],
74
extra_info=lapack_info,
75
libraries=['npymath'],
76
)
77
config.add_data_files('*.pyi')
78
return config
79
80
if __name__ == '__main__':
81
from numpy.distutils.core import setup
82
setup(configuration=configuration)
83
84