Commit Graph

195 Commits

Author SHA1 Message Date
Martin Kroeker 24ceb0fc40
Fix double subtraction of N_DEFLATE from istop in ?LAQZ0 (LAPACK 794) 2023-02-14 12:43:41 +01:00
Martin Kroeker e436ca61b4
Fix uninitialized variables on quick return path (Reference-LAPACK PR775) 2022-12-19 21:04:13 +01:00
martin-frbg 8df791e513 Fix signatures of external functions in the f2c-generated C sources 2022-12-14 14:06:55 +01:00
martin-frbg 48f4151373 Fix signatures of external functions in the f2c-generated C sources 2022-12-14 14:06:11 +01:00
Martin Kroeker 9b96990e5d
Check for NaN in ?GECON (Reference-LAPACK PR765) 2022-12-03 20:33:27 +01:00
Martin Kroeker 00cc78cfba
Fix uninitialized M in quick return (Reference-LAPACK 769) 2022-12-03 16:19:20 +01:00
Martin Kroeker 9307b0fabc
Fix uninitialized M in quick return (Reference-LAPACK 769) 2022-12-03 16:17:54 +01:00
Martin Kroeker 19fd2d7f00
Use LSAME for character comparison (Reference-LAPACK PR755) 2022-11-23 15:19:07 +01:00
Martin Kroeker ba8fb8b4b2
Merge pull request #3837 from martin-frbg/lapack655+697
Improve convergence of LAPACK ?LAED4 and fix a bug in DORCSD2BY1 (Reference-LAPACK PRs 655+697)
2022-11-22 13:51:57 +01:00
Martin Kroeker d321357558
Fix bug in DORCSD2BY1 (from Reference-LAPACK PR697) 2022-11-21 21:19:44 +01:00
Martin Kroeker afcd7e88b6
Improve convergence of DLAED4/SLAED4 (Reference-LAPACK PR655) 2022-11-21 21:18:39 +01:00
Martin Kroeker f8f2bebf11
Fix function documentation for LAPACK ?TPRFB (Reference-LAPACK PR665) 2022-11-21 20:01:47 +01:00
Martin Kroeker c45edcb537
Fix typo in comment (Reference-LAPACK PR735) 2022-11-21 19:59:33 +01:00
Martin Kroeker 50aba02910
Simplify ?SYSWAPR and fix its documentation (Reference-LAPACK 217) 2022-11-21 18:00:31 +01:00
Martin Kroeker 0b68dd6a9b
Merge pull request #3834 from martin-frbg/lapack631
Use new algorithms for computing Givens rotations (Reference-LAPACK PR631)
2022-11-21 08:30:14 +01:00
Martin Kroeker 7ae4269add
Use new algorithms for computing Givens rotations (Reference-LAPACK PR631) 2022-11-20 22:52:28 +01:00
Martin Kroeker e00f0fb26a
Fix function documentation (Reference-LAPACK PR747) 2022-11-20 22:46:58 +01:00
Martin Kroeker 31d2145988
Set scale early for robust triangular solvers (Reference-LAPACK PR712) 2022-11-20 22:44:36 +01:00
Martin Kroeker c6816bb576
Use normwise criterion in multishift QZ (Reference-LAPACK PR698) 2022-11-20 19:39:12 +01:00
Martin Kroeker 6f09e4c121
Improve FMA usage in ?LAQR5 (Reference-LAPACK PR681) 2022-11-20 19:37:28 +01:00
Martin Kroeker aaea0804bc
Fix function documentation (Reference-LAPACK PR697) 2022-11-20 16:38:57 +01:00
Martin Kroeker b946820502
Fix uninitialized variable (Reference-LAPACK PR647) 2022-11-20 16:36:19 +01:00
Martin Kroeker 9e29312c83
Fix type precision and function documentation (Reference-LAPACK PRs 647+702) 2022-11-20 16:34:45 +01:00
Martin Kroeker 3f31b69121
Add quick return if scaling with one (Reference-LAPACK PR674) 2022-11-20 13:30:25 +01:00
Martin Kroeker 60af35bfab
Fix workspace query for ?SYEVD and ?HEEVD (Reference-LAPACK PR691) 2022-11-20 13:25:21 +01:00
Martin Kroeker eea1636380
Use normwise criterion for INF eigenvalues in QZ (Reference-LAPACK PR698) 2022-11-20 13:22:55 +01:00
Martin Kroeker f157d6d671
Add C equivalents of ?GELST (for Reference-LAPACK PR739) 2022-11-19 22:50:57 +01:00
Martin Kroeker 1d32ce5135
Add ?GELST (Reference-LAPACK PR739) 2022-11-19 22:42:50 +01:00
Martin Kroeker d0afbd8d29
Add new routines for ?GELST similar to ?GELS (Reference-LAPACK PR739) 2022-11-19 22:34:42 +01:00
Martin Kroeker 63014e99ae
Cast work array sizes to integer (Reference-LAPACK PR 684) 2022-11-19 22:31:33 +01:00
Martin Kroeker 15967809ad
Define type conversions explicitly (Reference-LAPACK PR703) 2022-11-19 19:15:09 +01:00
Martin Kroeker 4e60737c2d
Define type conversions explicitly (Reference-LAPACK PR 703) 2022-11-19 15:22:46 +01:00
Martin Kroeker e9b0f5a364
Define type conversions explicitly (Reference-LAPACK PR 703) 2022-11-19 15:11:05 +01:00
Martin Kroeker 08bc43c73d
Define type conversions explicitly (Reference-LAPACK PR 703) 2022-11-19 15:04:30 +01:00
Martin Kroeker 35295912a3
Define type conversions explicitly (Reference-LAPACK PR 703) 2022-11-19 14:57:54 +01:00
Martin Kroeker 2a97ca615f
MSVC compatibility fixes 2022-11-16 07:36:40 +01:00
Martin Kroeker 5dec93e93b
Complete the C conversion of the xTRSYL3 files 2022-11-15 20:36:58 +01:00
Martin Kroeker b2cc310470
Add f2c-converted versions of the new BLAS3-based Sylvester solver 2022-11-15 14:23:46 +01:00
Martin Kroeker 379efbe5af
Fix typos 2022-11-15 11:03:12 +01:00
Martin Kroeker 95da5141f0
Add a BLAS3-based triangular Sylvester equation solver (Reference-LAPACK PR 651) 2022-11-14 22:21:29 +01:00
Martin Kroeker 6eb707d941
Add a BLAS3-based triangular Sylvester equation solver (Reference-LAPACK PR 651) 2022-11-13 23:10:13 +01:00
Martin Kroeker 35dac5677a
Merge pull request #3816 from martin-frbg/lapack638
Fix workspace calculation in GEQRF/GERQF (Reference-LAPACK PR 638)
2022-11-13 20:38:42 +01:00
Martin Kroeker 3e2d52c502
Fix workspace calculation in GEQRF/GERQF (Reference-LAPACK PR 638) 2022-11-13 13:00:52 +01:00
Martin Kroeker cb48c29b6f
Fix workspace calculation (Reference-LAPACK PR690) 2022-11-13 12:49:59 +01:00
Martin Kroeker 515cf26929
Fix pointer/integer argument mismatch in calls to pow() 2022-09-14 11:48:36 +02:00
Martin Kroeker 704a024df4
Fix C99-style declaration of loop variable 2022-08-11 16:37:23 +02:00
Martin Kroeker 75cdc8cba5
Merge branch 'develop' into lapack3101 2022-04-30 21:43:45 +02:00
Martin Kroeker b4b9ccdbfa
Remove leftover debug output 2022-04-27 21:59:45 +02:00
martin-frbg 510c7222ef Add dummy C files for 3.10.1 modules 2022-04-22 13:09:12 +02:00
martin-frbg aea3d366f5 Add dummy C versions of the 3.10.1 ?laqz codes for C_LAPACK 2022-04-22 09:27:37 +02:00
martin-frbg 920199c577 fix module build and d/sroundup_lwork 2022-04-21 23:31:02 +02:00
martin-frbg 7c84a9f7be update suffix rules 2022-04-21 22:43:29 +02:00
martin-frbg 329cdc31b3 Update LAPACK/LAPACKE to Reference-LAPACK 3.10.1 2022-04-21 20:39:29 +02:00
Martin Kroeker 18b19d135b
C_LAPACK: Fixes to make it compile with MSVC (#3605)
* Fix f2c-like support functions to compile with MSVC, and
re-enable C_LAPACK for MSVC in CMAKE

* Add MSVC&flang build to Azure CI in order to check C_LAPACK correctness
2022-04-17 17:49:38 +02:00
Martin Kroeker b7873605d4
Use f2c translations of LAPACK when no Fortran compiler is available (#3539)
* Add C equivalents of the Fortran routines from Reference-LAPACK as fallbacks, and C_LAPACK variable to trigger their use
2022-04-09 22:38:58 +02:00
Aisha Tammy 3efbf968f1 create INDEX64 target 2022-03-24 19:09:23 +01:00
Martin Kroeker a3eea3e127
Fix input argument check (LAPACK PR 646) 2022-02-03 11:43:17 +01:00
Martin Kroeker 337b65133d
Fix out of bounds read in ?llarv (Reference-LAPACK PR 625) 2021-10-01 11:19:53 +02:00
Martin Kroeker ddb0ff5353
Fix out of bounds read in ?llarv (Reference-LAPACK PR 625) 2021-10-01 11:19:07 +02:00
Martin Kroeker fe497efa05
Fix out of bounds read in ?llarv (Reference-LAPACK PR 625) 2021-10-01 11:18:20 +02:00
Martin Kroeker 2be5ee3cca
Fix out of bounds read in ?llarv (Reference-LAPACK PR 625) 2021-10-01 11:17:21 +02:00
Martin Kroeker 5c729c6dce
Correct function name in error message from SLASQ2 (Reference-LAPACK PR 555) 2021-05-17 14:47:14 +02:00
Martin Kroeker d00709e016
Add files via upload 2021-05-02 20:47:58 +02:00
Martin Kroeker 4c1d47098b
Add new files for Householder reconstruction functions from 3.9.1 2021-05-02 19:25:43 +02:00
Martin Kroeker 114bbbc6d7
Merge pull request #3212 from martin-frbg/lapack463
Initialize X and Y to zero for N=0 in xGGGLM (Reference-LAPACK PR463)
2021-05-02 18:44:59 +02:00
Martin Kroeker b67a92c19f
Merge pull request #3211 from martin-frbg/lapack471
Handle norm NaN value in xGESDD (Reference LAPACK PR471)
2021-05-02 18:44:29 +02:00
Martin Kroeker c26780d451
Initialize X and Y to zero for N=0 (Reference-LAPACK PR463) 2021-05-02 11:40:56 +02:00
Martin Kroeker d77d9bc920
Handle norm NaN value (Reference LAPACK PR471) 2021-05-02 11:24:50 +02:00
Martin Kroeker 37d3e2bd94
Merge pull request #3210 from martin-frbg/lapack502
Fix possible division by zero in LAPACK xTGSJA (Reference-LAPACK PR502)
2021-05-02 09:02:11 +02:00
Martin Kroeker de8656769c
Fix possible division by zero in xTGSJA (Reference-LAPACK PR502) 2021-05-01 21:31:13 +02:00
Martin Kroeker 87d2e314db
Import packing improvements in LAPACK xLAQR from Reference-LAPACK PR 480+535 2021-04-30 13:50:55 +02:00
Martin Kroeker c9a82f54d1
Merge pull request #3204 from martin-frbg/lapack506
Correct INFO value returned by SLASQ2/DLASQ2 (Reference-LAPACK 506)
2021-04-30 13:25:48 +02:00
Martin Kroeker 444cb78be5
correct INFO value (Reference-LAPACK 506) 2021-04-30 09:26:54 +02:00
Martin Kroeker 2b01132515
Clean up misdeclaration of the dummy stand-in for A in ?ORGBR/?UNGBR workspace queries (Reference-LAPACK PR 468 and 530) 2021-04-28 19:20:08 +02:00
Martin Kroeker 0dba04bb58
Merge pull request #3178 from martin-frbg/fix2864
Fix unwanted fallback to implicit typing in slanv2/dlanv2
2021-04-09 13:38:05 +02:00
Martin Kroeker e96f5e3c65
Fix implicit typing of new variable TWO 2021-04-09 10:04:15 +02:00
Martin Kroeker 558724e99f
Fix implicit typing of new variable TWO 2021-04-09 10:03:31 +02:00
Martin Kroeker 081d5ae971
Fix typo and potentially undefined variables
(copies fixes made in Reference-LAPACK PR 477 after the initial cherrypick)
2021-04-03 22:11:14 +02:00
Martin Kroeker c4b5abbe43
fix data type 2021-01-29 10:45:36 +01:00
Martin Kroeker f87842483e
fix calculation of non-exceptional shift (from Reference-LAPACK PR 477) 2021-01-29 09:56:12 +01:00
Martin Kroeker 856bc36533
Add exceptional shift to fix rare convergence problems 2021-01-27 13:41:45 +01:00
Martin Kroeker ef552bc578
Add Makefile support for enabling only some variable types 2020-10-11 14:49:06 +02:00
Martin Kroeker 7ed25e9e10
FIx underflow/rounding errors in LAPACK (S,D)LANV2
Reference-LAPACK PR 445, fixing their issue 263
2020-09-27 22:59:20 +02:00
Martin Kroeker 7e4d5c237c
Fix workspace query in xGELQ (Reference-LAPACK PR443) 2020-09-18 09:19:46 +02:00
Martin Kroeker 522aaf53bf
Break out of potentially infinite rescaling loop in LAPACK xLARGV/xLARTG/xLARTGP
Reference-LAPACK issue 411
2020-06-07 14:30:20 +02:00
Ilhan Polat 76d2612e0c
BUG: Fix the loop range in ZHEEQUB.f 2020-05-30 14:11:11 +02:00
Martin Kroeker b25ae1fc60
Apply fix for Reference-LAPACK issue 394
reference to XERBLA extending beyond column 72, breaking builds with compilers that default to traditional punch card format
2020-03-10 13:37:41 +01:00
Martin Kroeker 87ac1ceb0b
Apply fix from Reference-LAPACK PR390, NaN not propagating 2020-02-23 22:40:40 +01:00
Martin Kroeker 9e40c080f2
Apply fix from Reference-LAPACK PR390, NaN not propagating 2020-02-23 22:39:01 +01:00
Martin Kroeker 375b1875c8
[WIP] Update LAPACK to 3.9.0 (#2353)
* Update make.inc entries for LAPACK 3.9.0

Reference-LAPACK PR 347 changed some variable names and relative paths

* Update LAPACK to 3.9.0

* Add new functions from LAPACK 3.9.0

* Add new functions from LAPACK 3.9.0

* Restore LOADER command 

as it makes it easier to specify pthread as needed

* Restore LOADER

* Restore EIG/LIN prefixes in cmdbase

* add binary path to lapack_testing.py call

* Restore OpenMP version check

* Restore OpenMP version check

* Restore fix for out-of-bounds array accesses

from #2096
2020-01-01 13:18:53 +01:00
Guillaume Horel 4b21b646ea turn on optimized code 2019-09-08 11:14:49 -04:00
Martin Kroeker a6a52a73f7
Fix argument in SLASET call to zero S
fixes #1859 in accordance with https://github.com/LAPACK-Reference/issue/296
2018-11-10 17:16:53 +01:00
Tiziano Müller 79ea839b63 fix parallel build issues with APFS/HFS+/ext2/3 in netlib-lapack
The problem is that OpenBLAS sets the LAPACKE_LIB and the TMGLIB to the
same object and uses the `ar` feature to update the archive file. If the
underlying filesystem does not have sub-second timestamp resolution and
the system is fast enough (or `ccache` is used), the timestamp of the
builds which should be added to the previously generated archive is the
same as the archive file itself and therefore `make` does not update the
archive.

Since OpenBLAS takes care to not run the different targets updating the
archive in parallel, the easiest solution is to declare the respective
targets `.PHONY`, forcing `make` to always update them.

fixes #1682
2018-10-06 14:10:05 +02:00
Martin Kroeker 9e917b16db
Fix missing replacements of ILAENV by ILAENV_2STAGE (lapack PR 272)
This could cause spurious "parameter has an illegal value" errors in DSYEVR and related routines, see https://github.com/Reference-LAPACK/lapack/issues/262
2018-08-28 21:11:54 +02:00
Martin Kroeker 677e42d7b0
Fixes from netlib PR 253
When minimal workspace is given in ?hesv_aa, ?sysv_aa, ?hesv_aa_2stage, ?sysv_aa_2stage, now no error is given
Quick return for ?laqr1
2018-06-01 15:12:59 +02:00
Martin Kroeker 9795adc7ef
Drop C-style "L" suffix from OPENMP version number in check 2018-05-08 21:39:42 +02:00
Martin Kroeker 1a8e487c4a
Drop C-style "L" suffix from OPENMP version number in check 2018-05-08 21:38:25 +02:00
Martin Kroeker 5966fd52a2
Drop C-style "L" suffix from OPENMP version number in check 2018-05-08 21:36:56 +02:00
Martin Kroeker eaab622f03
Make "OMP task depend" sections conditional on OpenMP4, not just OpenMP
To allow compiling with gcc versions older than 4.9
2018-02-14 22:58:14 +01:00
Martin Kroeker 3cda1ce50a
Revert insiduous suppression of the -fopenmp flag in the LAPACK subtree
This was added in #1046 citing a problem with mingw, but in effect it quietly reduces thread safety on all non-Windows platforms (while -fopenmp is already disabled for Windows builds through the toplevel Makefile.system). Removing the filter fixes #1425
2018-02-13 22:44:45 +01:00