MCPcopy Create free account
hub / github.com/numpy/numpy / _calc_info

Method _calc_info

numpy/distutils/system_info.py:2323–2365  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2321 return ''
2322
2323 def _calc_info(self):
2324 c = customized_ccompiler()
2325
2326 lib_dirs = self.get_lib_dirs()
2327
2328 # Prefer to use libraries over openblas_libs
2329 opt = self.get_option_single('openblas_libs', 'libraries')
2330 openblas_libs = self.get_libs(opt, self._lib_names)
2331
2332 info = self.check_libs(lib_dirs, openblas_libs, [])
2333
2334 if c.compiler_type == "msvc" and info is None:
2335 from numpy.distutils.fcompiler import new_fcompiler
2336 f = new_fcompiler(c_compiler=c)
2337 if f and f.compiler_type == 'gnu95':
2338 # Try gfortran-compatible library files
2339 info = self.check_msvc_gfortran_libs(lib_dirs, openblas_libs)
2340 # Skip lapack check, we'd need build_ext to do it
2341 skip_symbol_check = True
2342 elif info:
2343 skip_symbol_check = False
2344 info['language'] = 'c'
2345
2346 if info is None:
2347 return None
2348
2349 # Add extra info for OpenBLAS
2350 extra_info = self.calc_extra_info()
2351 dict_append(info, **extra_info)
2352
2353 if not (skip_symbol_check or self.check_symbols(info)):
2354 return None
2355
2356 info['define_macros'] = [('HAVE_CBLAS', None)]
2357 if self.symbol_prefix:
2358 info['define_macros'] += [('BLAS_SYMBOL_PREFIX', self.symbol_prefix)]
2359 if self.symbol_suffix:
2360 info['define_macros'] += [
2361 ('BLAS_SYMBOL_SUFFIX', self.symbol_suffix),
2362 ('OPENBLAS_ILP64_NAMING_SCHEME', None),
2363 ]
2364
2365 return info
2366
2367 def calc_info(self):
2368 info = self._calc_info()

Callers 1

calc_infoMethod · 0.95

Calls 10

check_symbolsMethod · 0.95
new_fcompilerFunction · 0.90
get_lib_dirsMethod · 0.80
get_option_singleMethod · 0.80
get_libsMethod · 0.80
check_libsMethod · 0.80
calc_extra_infoMethod · 0.80
customized_ccompilerFunction · 0.70
dict_appendFunction · 0.70

Tested by

no test coverage detected