Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
bc09c72
MAINT: interpolate: rm unneeded subarray variables
ev-br Feb 28, 2025
dec2e3a
MAINT: interpolate: move evaluate_ndbspline from Cython to C
ev-br Mar 10, 2025
19c882e
MAINT: interpolate: move evaluate_ndbspline from Cython to C
ev-br Mar 10, 2025
20a8a18
MAINT: interpolate/ndbspline: move coloc_nd to C
ev-br Mar 10, 2025
7118103
MAINT: interpolate: remove _bspl.pyx
ev-br Mar 10, 2025
e5bec85
MAINT: interpolate/ndbspline: move error handling to the wrapper layer
ev-br Mar 11, 2025
9bd74e7
MAINT: interpolate/ndbspline: toggle bounds checking back to false
ev-br Mar 11, 2025
c6a30cd
MAINT: Apply suggestions from code review
ev-br Mar 16, 2025
89baae2
ENH: VectorFunction in least_squares
andyfaff Mar 21, 2025
4bf2df8
MAINT: various fixups in least_squares
andyfaff Mar 22, 2025
e4da29d
BUG: fix VectorFunction issue wrt jac_sparsity
andyfaff Mar 22, 2025
5322eff
BUG: more fixes to VectorFunction
andyfaff Mar 22, 2025
f193899
MAINT: least_squares more comments
andyfaff Mar 22, 2025
c494a67
MAINT: least_squares more comments
andyfaff Mar 22, 2025
3a40cbe
LINT
andyfaff Mar 22, 2025
b04d329
MAINT: punctuation
andyfaff Mar 23, 2025
84bb25a
TST: optimize: add test for VectorFunction with sparse_jacobian=False
nickodell Mar 23, 2025
9fc5c2b
Merge pull request #78 from nickodell/njo-improve-test-coverage
andyfaff Mar 23, 2025
2c1745e
DOC: remove reference to lmdif
andyfaff Mar 23, 2025
89d9df4
BUG: use correct default for VectorFunction bounds
andyfaff Mar 23, 2025
6247c4a
LINT
andyfaff Mar 23, 2025
1137ccf
MAINT: return array copies for fun, jac, hess
andyfaff Mar 23, 2025
c26ca52
MAINT: VectorFunction returns copies of arrays
andyfaff Mar 24, 2025
5a7c6e5
MAINT: replace xp.astype with xp_copy (apart from those that could be…
andyfaff Mar 24, 2025
c3b0c33
BUG: special: fix thread safety of special.errstate
rgommers Mar 26, 2025
572a08b
TST: special: mark two tests as thread-unsafe
rgommers Mar 26, 2025
ff5a231
CI: free-threading: also test special/stats under pytest-run-parallel
rgommers Mar 26, 2025
0d02ec1
MAINT: remove usage of `WITH_THREAD` macro
rgommers Mar 26, 2025
d1073ac
ENH: special: add Dask support to `rel_entr` (#22641)
crusaderky Mar 26, 2025
25c8363
TST: special: remove test skips due to array-api-strict#131 (#22740)
mdhaber Mar 26, 2025
2179801
MAINT: 'lm', exclude number of evaluations used for jacobian approxim…
andyfaff Mar 27, 2025
63b49a4
MAINT: 'lm', exclude number of evaluations used for jacobian approxim…
andyfaff Mar 27, 2025
2a330d1
Merge pull request #22742 from rgommers/special-threadsafe
tylerjereddy Mar 27, 2025
5c5b44c
ENH: cluster: `linkage` support for jax.jit and dask (#22342)
crusaderky Mar 27, 2025
a585c29
MAINT: ndimage.zoom: eliminate noise when `zoom=1` (#22651)
mdhaber Mar 27, 2025
daf30cb
TST: linalg.test_batch: minor tolerance bumps
j-bowhay Mar 27, 2025
7c93670
Merge pull request #22751 from j-bowhay/gh-22747
mdhaber Mar 28, 2025
0d62d61
DOC: amendment of max_nfev
andyfaff Mar 28, 2025
df6b245
LINT
andyfaff Mar 28, 2025
ce3c877
Merge pull request #22728 from andyfaff/least_squares
andyfaff Mar 28, 2025
30609cc
DOC: stats: Extend documentation of random_correlation matrix (#22711)
vrossum Mar 28, 2025
3e24653
DOC: fft.hfft2: added example (#22750)
ShannonS00 Mar 28, 2025
bf7f21a
ENH: stats: add support for multiple parameterizations for custom dis…
steppi Mar 29, 2025
ae1e3cb
DOC: fft.rfft2: add example to docstring (#22745)
Backfisch263 Mar 29, 2025
5733a27
TST: weightedtau rng thread safety
tylerjereddy Mar 30, 2025
51dcb50
BUG: VectorFunction.f_updated wasn't being set on initalisation
andyfaff Mar 30, 2025
02ddfde
Merge pull request #22760 from andyfaff/vf
andyfaff Mar 30, 2025
2c16b8b
Merge pull request #22759 from tylerjereddy/treddy_issue_22758_weight…
mdhaber Mar 30, 2025
877c571
DOC: l-bfgs-b clarify what is meant by maxfun, maxiter
andyfaff Mar 30, 2025
e2da145
DOC: Apply suggestions from code review
andyfaff Mar 30, 2025
e1c873c
Merge pull request #22761 from andyfaff/gh18346
andyfaff Mar 31, 2025
a8e12fc
MAINT: improve dtype handling now that `xp.result_type` accepts Pytho…
mdhaber Mar 31, 2025
41afca2
ENH:MAINT:optimize: Rewrite SLSQP and NNLS in C (#22524)
ilayn Mar 31, 2025
ab7603d
MAINT: optimize: `VectorFunction`: remove reference cycle (#22764)
andyfaff Mar 31, 2025
7bbca7f
MAINT: special: refine `logsumexp` writeback behaviour (#22755)
crusaderky Mar 31, 2025
efdffab
ENH: stats: lazy trimmed stats for Dask and JAX (#22735)
crusaderky Mar 31, 2025
5df92ca
TST: stats: don't encapsulate `pytest.warns`
crusaderky Apr 1, 2025
4ecd239
TST: stats: don't encapsulate `pytest.warns` (#22771)
Apr 1, 2025
4d9f5e6
MAINT/DOC: integrate.tanhsinh: lightly refactor error estimate and co…
mdhaber Apr 1, 2025
8c2e0da
MAINT: VectorFunction copy array differently
andyfaff Apr 1, 2025
a4c233d
CI: enable SCIPY_ARRAY_API on a full linux run
andyfaff Apr 2, 2025
2636204
Merge pull request #22779 from andyfaff/gh22774
rgommers Apr 2, 2025
b06f830
TST: stats: add marray tests for `_length_nonmasked` axis tuple error…
zitongzhoueric Apr 2, 2025
ef2bcc8
ENH: spatial: speed up `Rotation.apply` by replacing `np.einsum` with…
cosama Apr 3, 2025
d72842a
DOC: improve docstrings of boxcox and yeojohnson (#22766)
lorentzenchr Apr 3, 2025
105cd84
BUG: stats: fix thread safety issue in `page_trend_test`
rgommers Apr 2, 2025
a548e4c
TST: sparse.linalg: fix rng seeding and warning filter issues
rgommers Apr 2, 2025
8bb5eec
Merge pull request #22666 from ev-br/ndbspl_simplify
ev-br Apr 3, 2025
f8951f6
TST: stats.quantile: add edge test cases for axis=None and keepdims=T…
zitongzhoueric Apr 3, 2025
25ca572
TST/MAINT: signal.symiirorder2: r, omega, precision are floats; use d…
crusaderky Apr 3, 2025
4cb19b8
DOC: ndimage.maximum_filter: note that behavior in the presence of Na…
mdhaber Apr 3, 2025
bdb1c00
Merge pull request #22782 from rgommers/fix-freethreading-failures
tylerjereddy Apr 4, 2025
b434b47
BUG: signal.ShortTimeFFT.upper_border_begin: Document parameter `n`. …
DietBru Apr 4, 2025
e7ca826
DOC/DEV: remove references to CirrusCI in skipping CI doc (#22785)
gabrielaugz Apr 4, 2025
27157ac
BUG: sparse.linalg._AdjointLinearOperator: Remove reference cycle to …
nickodell Apr 4, 2025
760a1b6
ENH/BLD: cython: share memoryview utility between extension modules […
rgommers Dec 18, 2024
bc5d86a
BUG/TST: `special.logsumexp` on non-default device (#22756)
crusaderky Apr 4, 2025
e249305
DOC: fft.dst: add example to docstring (#22723)
Tearyt Apr 4, 2025
7545258
ENH: special: `support_alternative_backends` on Dask (#22639)
crusaderky Apr 4, 2025
4b2460e
BUG: `signal.windows._windows.kaiser_bessel_derived`: use `asarray` i…
Saransh-cpp Apr 4, 2025
59376cb
Merge pull request #22796 from rgommers/cy-shared-memview
lucascolley Apr 4, 2025
f7d9e53
bug fix upper_border_begin
sildater Apr 2, 2025
0d5ef92
fix two tests in `test_spectral.py`
sildater Apr 3, 2025
b3e075d
Update test_short_time_fft.py upper_border_begin
sildater Apr 4, 2025
89442df
MAINT: use `xp.asarray` instead of `xp.array` (#22803)
Saransh-cpp Apr 4, 2025
d96ce7a
ENH: ndimage.vectorized_filter: make CuPy-compatible (#22715)
mdhaber Apr 4, 2025
683824b
CI: add CI jobs for different BLAS configs
rgommers Dec 28, 2023
17a16c0
DEBUG: run BLAS jobs on fork
rgommers Dec 28, 2023
0398654
ENH: use Meson's BLAS and LAPACK support
rgommers Feb 23, 2025
302d72d
Squash several commits to simplify rebasing
rgommers Dec 28, 2023
56b569a
WIP: ENH: enable ILP64 BLAS/LAPACK support again
rgommers Jan 1, 2024
d5799b8
Squash several commits to simplify rebasing
rgommers Jan 1, 2024
6cb934b
BLD: linalg, sparse/linalg: link with g77_abi_wrappers
ev-br Mar 22, 2025
2680888
BLD: interpolate: build FITPACK with 32- or 64-bit ints
ev-br Mar 11, 2025
1dab7fa
MAINT: interpolate: link the __fitpack C extension to 64-bit LAPACK
ev-br Mar 26, 2025
331dfec
BUG: spatial: Qhull does not need linking to LAPACK
ev-br Mar 13, 2025
21fb117
TST: linalg: bump test tolerances
ev-br Mar 13, 2025
00d609b
ENH: integrate: make lsoda.pyf and vode.pyf int64-aware
ev-br Mar 13, 2025
8ddfdc1
BLD: integrate: add int64 flags to ODE wrappers (lsoda, dop, vode, zv…
ev-br Mar 13, 2025
d596781
BLD: sparse/arpack: add an int64 flag
ev-br Mar 13, 2025
e796200
BLD: special: link to LP64-bit LAPACK, use cython_special in ellip_harm
ev-br Mar 16, 2025
1de0646
MAINT: special: no need to link to LAPACK explicitly with cython_lapack
ev-br Mar 16, 2025
b47a9af
BLD: optimize: link lbfgsb to 32-bit LP64 LAPACK
ev-br Mar 26, 2025
a183c2f
TEMP: debug print in generate_f2pymod
ev-br Mar 22, 2025
c1dd1b1
BLD: fix up MKL ILP64 detection
ev-br Mar 22, 2025
b5e9cbb
CI: separate the MKL ILP64 job
rgommers Mar 26, 2025
3a97011
CI: tweak the ILP64 job
ev-br Mar 26, 2025
2ae124b
CI: temp remove linux_blas.yml workflow
ev-br Mar 26, 2025
61fde0d
BLD: fix a small error in meson.build
ev-br Mar 26, 2025
ab34208
Revert "MAINT: special: no need to link to LAPACK explicitly with cyt…
ev-br Mar 26, 2025
6d5eae2
Revert "BLD: special: link to LP64-bit LAPACK, use cython_special in …
ev-br Mar 26, 2025
39dd6d2
BLD: special: link explicitly to 32-bit LAPACK
ev-br Mar 26, 2025
cce2523
WIP/BLD: try restoring the "regular" builds
ev-br Mar 27, 2025
0e4e597
WIP: revert ILP64 related changes in integrate, odr and arpack
ev-br Mar 28, 2025
85f5847
BLD: force name mangling in ILP64 builds of BLAS and LAPACK
ev-br Mar 29, 2025
4114970
MAINT: interpolate: propagate C flags for ILP64
ev-br Mar 30, 2025
542382a
MAINT: slightly minimize the diff size
ev-br Mar 31, 2025
43324ea
CI: remove the SDL MKL LP64 build for now
ev-br Mar 31, 2025
546d014
BLD: remove blas-order, simplify lapacl detection
ev-br Mar 31, 2025
d2d9e8d
CI: adjust mkl job for the lack of -Dblas-order
ev-br Mar 31, 2025
b1e5f7a
BUG: _build_utils: new Accelerate does not seem to need NO_APPEND_FOR…
ev-br Mar 31, 2025
a111e58
MAINT: remove unused code
ev-br Mar 31, 2025
6c6c029
BLD: enable/test the ILP64 build with scipy-openblas64
ev-br Apr 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ benchmarks/asv.conf.json @larsoner
# CI config
.circleci/ @larsoner
.github/workflows/ @larsoner @andyfaff
.cirrus.star @larsoner @andyfaff

# Doc
requirements/doc.txt @tupui
Expand Down
1 change: 0 additions & 1 deletion .github/label-globs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,6 @@ CI:
- .circleci/**
- .github/workflows/**
- ci/**
- .cirrus.star

DX:
- changed-files:
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ jobs:
#################################################################################
prerelease_deps_coverage_64bit_blas:
# TODO: re-enable ILP64 build.
name: Prerelease deps & coverage report, full, py3.11/npMin & py3.11/npPre, dev.py
name: Prerelease deps & coverage report, full, py3.11/npMin & py3.11/npPre, dev.py, SCIPY_ARRAY_API=1
needs: get_commit_message
if: >
needs.get_commit_message.outputs.message == 1
Expand Down Expand Up @@ -362,6 +362,7 @@ jobs:
- name: Test SciPy
run: |
export OPENBLAS_NUM_THREADS=1
export SCIPY_ARRAY_API=1
python dev.py --no-build test --coverage -j2 --mode full -- --cov --cov-report term-missing

#################################################################################
Expand Down Expand Up @@ -508,7 +509,6 @@ jobs:
if: ${{ matrix.parallel == '1'}}
env:
# Excluded modules:
# - scipy.special and scipy.stats are waiting on special.errstate being made thread-safe
# - scipy.spatial has multiple issues in kdtree/qhull, and gh-20655 is pending.
TEST_SUBMODULES: >-
-t scipy.cluster
Expand All @@ -527,6 +527,8 @@ jobs:
-t scipy.optimize
-t scipy.signal
-t scipy.sparse
-t scipy.special
-t scipy.stats
run: |
# Note: only fast tests; full test suite is unlikely to uncover anything more,
# and it'll be quite slow with pytest-run-parallel
Expand Down
129 changes: 129 additions & 0 deletions .github/workflows/linux_blas_ilp64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
name: BLAS tests (Linux)

# This file is meant for testing different BLAS/LAPACK flavors and build
# options on Linux. All other yml files for Linux will only test without BLAS
# (mostly because that's easier and faster to build) or with the same 64-bit
# OpenBLAS build that is used in the wheel jobs.
#
# Jobs and their purpose:
#
# - mkl:
# Tests MKL installed from PyPI (because easiest/fastest, if broken) in
# 3 ways: both LP64 and ILP64 via pkg-config, and then using the
# Single Dynamic Library (SDL, or `libmkl_rt`).
#
# - scipy-openblas64:
# Test ILP64-enabled build with scipy-openblas32 and scipy-openblas64.
#

on:
pull_request:
branches:
- main
- maintenance/**

defaults:
run:
shell: bash

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

permissions:
contents: read # to fetch code (actions/checkout)

jobs:

mkl-lp64:
runs-on: ubuntu-latest
name: "MKL LP64"
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
submodules: recursive
fetch-depth: 0
- uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: '3.11'

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y gfortran
pip install cython numpy pybind11 pythran pytest hypothesis pytest-xdist pooch
pip install -r requirements/dev.txt
pip install git+https://github.com/numpy/meson.git@main-numpymeson
pip install mkl mkl-devel

- name: Build with defaults (LP64)
run: |
pkg-config --libs mkl-dynamic-lp64-seq # check link flags
python dev.py build -C-Dblas=mkl

- name: Test
run: python dev.py test -j 2


mkl-ilp64:
runs-on: ubuntu-latest
name: "MKL ILP64"
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
submodules: recursive
fetch-depth: 0
- uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: '3.11'

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y gfortran
pip install cython numpy pybind11 pythran pytest hypothesis pytest-xdist pooch
pip install -r requirements/dev.txt
pip install git+https://github.com/numpy/meson.git@main-numpymeson
pip install mkl mkl-devel

- name: Build with ILP64
run: |
pkg-config --libs mkl-dynamic-ilp64-seq # check link flags
python dev.py build -C-Dblas=mkl -C-Duse-ilp64=true

- name: Test
run: python dev.py test -j 2


scipy-openblas-ilp64:
runs-on: ubuntu-latest
name: "scipy-openblas ILP64"
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
submodules: recursive
fetch-depth: 0
- uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: '3.11'

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y gfortran
pip install cython numpy pybind11 pythran pytest hypothesis pytest-xdist pooch
pip install -r requirements/dev.txt
pip install git+https://github.com/numpy/meson.git@main-numpymeson
pip install scipy-openblas32 scipy-openblas64
# dev.py does this for scipy-openblas32
python -c'import scipy_openblas64 as so64; print(so64.get_pkg_config())' > scipy-openblas64.pc
export PKG_CONFIG_PATH=`pwd`

- name: Build with ILP64
run: |
python dev.py build --with-scipy-openblas -C-Duse-ilp64=true

- name: Test
run: python dev.py test -j 2


1 change: 1 addition & 0 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -217,3 +217,4 @@ jobs:

pip install pooch pytest hypothesis
python dev.py -n test

9 changes: 1 addition & 8 deletions doc/source/dev/contributor/continuous_integration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,6 @@ CircleCI
* ``run_benchmarks``: verify how the changes impact performance
* ``refguide_check``: doctests from examples and benchmarks

CirrusCI
--------
* ``Tests``: test suite for specific architecture like
``musllinux, arm, aarch``
* ``Wheels``: build and upload some wheels

.. _skip-ci:

Skipping
Expand All @@ -79,7 +73,6 @@ Skipping CI can be achieved by adding a special text in the commit message:

* ``[skip actions]``: will skip GitHub Actions
* ``[skip circle]``: will skip CircleCI
* ``[skip cirrus]``: will skip CirrusCI
* ``[docs only]``: will skip *all but* the CircleCI checks and the linter
* ``[lint only]``: will skip *all but* the linter
* ``[skip ci]``: will skip *all* CI
Expand All @@ -88,7 +81,7 @@ Of course, you can combine these to skip multiple workflows.

This skip information should be placed on a new line. In this example, we
just updated a ``.rst`` file in the documentation and ask to skip all but the
relevant docs checks (skip Cirrus and GitHub Actions' workflows)::
relevant docs checks (skip GitHub Actions' workflows)::

DOC: improve QMCEngine examples.

Expand Down
6 changes: 6 additions & 0 deletions meson.options
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@ option('blas', type: 'string', value: 'openblas',
description: 'option for BLAS library switching')
option('lapack', type: 'string', value: 'openblas',
description: 'option for LAPACK library switching')
option('use-ilp64', type: 'boolean', value: false,
description: 'Use ILP64 (64-bit integer) BLAS and LAPACK interfaces')
option('blas-symbol-suffix', type: 'string', value: 'auto',
description: 'BLAS and LAPACK symbol suffix to use, if any')
option('mkl-threading', type: 'string', value: 'auto',
description: 'MKL threading method, one of: `seq`, `iomp`, `gomp`, `tbb`')
option('use-g77-abi', type: 'boolean', value: false,
description: 'If set to true, forces using g77 compatibility wrappers ' +
'for LAPACK functions. The default is to use gfortran ' +
Expand Down
2 changes: 1 addition & 1 deletion mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ ignore_missing_imports = True
[mypy-scipy.optimize._bglu_dense]
ignore_missing_imports = True

[mypy-scipy.optimize._slsqp]
[mypy-scipy.optimize._slsqplib]
ignore_missing_imports = True

[mypy-scipy.interpolate._dfitpack]
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ test = [
"scikit-umfpack",
"pooch",
"hypothesis>=6.30",
"array-api-strict>=2.3",
"array-api-strict>=2.3.1",
"Cython",
"meson",
'ninja; sys_platform != "emscripten"',
Expand Down
2 changes: 1 addition & 1 deletion requirements/test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ threadpoolctl
# scikit-umfpack # circular dependency issues
pooch
hypothesis>=6.30
array-api-strict>=2.0,<2.1.1
array-api-strict>=2.3.1
Cython
meson
ninja; sys_platform != "emscripten"
1 change: 1 addition & 0 deletions scipy/_build_utils/int64.f2cmap.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{'integer': {'': '@int64_name@'}, 'logical': {'': '@int64_name@'}}
22 changes: 21 additions & 1 deletion scipy/_build_utils/src/npy_cblas.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,21 @@ enum CBLAS_SIDE {CblasLeft=141, CblasRight=142};

#define CBLAS_INDEX size_t /* this may vary between platforms */

#ifdef ACCELERATE_NEW_LAPACK
#if __MAC_OS_X_VERSION_MAX_ALLOWED < 130300
#ifdef HAVE_BLAS_ILP64
#error "Accelerate ILP64 support is only available with macOS 13.3 SDK or later"
#endif
#else
/* #define NO_APPEND_FORTRAN */
#ifdef HAVE_BLAS_ILP64
#define BLAS_SYMBOL_SUFFIX $NEWLAPACK$ILP64
#else
#define BLAS_SYMBOL_SUFFIX $NEWLAPACK
#endif
#endif
#endif

#ifdef NO_APPEND_FORTRAN
#define BLAS_FORTRAN_SUFFIX
#else
Expand All @@ -50,7 +65,6 @@ enum CBLAS_SIDE {CblasLeft=141, CblasRight=142};
#define BLAS_FUNC_CONCAT(name,prefix,suffix,suffix2) prefix ## name ## suffix ## suffix2
#define BLAS_FUNC_EXPAND(name,prefix,suffix,suffix2) BLAS_FUNC_CONCAT(name,prefix,suffix,suffix2)

#define CBLAS_FUNC(name) BLAS_FUNC_EXPAND(name,BLAS_SYMBOL_PREFIX,,BLAS_SYMBOL_SUFFIX)
/*
* Use either the OpenBLAS scheme with the `64_` suffix behind the Fortran
* compiler symbol mangling, or the MKL scheme (and upcoming
Expand All @@ -62,6 +76,12 @@ enum CBLAS_SIDE {CblasLeft=141, CblasRight=142};
#define BLAS_FUNC(name) BLAS_FUNC_EXPAND(name,BLAS_SYMBOL_PREFIX,BLAS_SYMBOL_SUFFIX,BLAS_FORTRAN_SUFFIX)
#endif

/*
* Note that CBLAS doesn't include Fortran compiler symbol mangling, so ends up
* being the same in both schemes
*/
#define CBLAS_FUNC(name) BLAS_FUNC_EXPAND(name,BLAS_SYMBOL_PREFIX,,BLAS_SYMBOL_SUFFIX)

#ifdef HAVE_BLAS_ILP64
#define CBLAS_INT npy_int64
#define CBLAS_INT_MAX NPY_MAX_INT64
Expand Down
Loading