136 Commits
Author SHA1 Message Date
Martin Kroeker 8766886cfc Merge pull request #5577 from mattip/attrib-hidden
add visibility=default to exported functions, visibility=hidden to most assembler
2026-07-24 00:16:00 +02:00
Martin Kroeker 0ddb20ffea Merge pull request #5940 from martin-frbg/lapack1332
Fix memory freeing on error paths of LAPACKE C/ZGEJSV,C/ZGESVDX (Reference-LAPACK PR 1332)
2026-07-23 10:34:28 +02:00
Martin Kroeker c3de327dd5 Add CX factorization (expert) routines ?GECXX (Reference-LAPACK PR 1161) (#5938)
* Add CX factorization (expert) routines ?GECXX (Reference-LAPACK PR 1161)
2026-07-23 00:02:28 +02:00
Martin Kroeker 251169b710 Fix invalid deallocations on error paths (Reference-LAPACK PR 1332) 2026-07-22 23:59:08 +02:00
Martin Kroeker 63ad298a67 Merge branch 'develop' into attrib-hidden 2026-07-21 20:00:16 +02:00
Martin Kroeker 2b11a16f56 Fix row-major copy corrupting the other triangle (Reference-LAPACK PR 1318) 2026-07-07 10:55:25 +02:00
Martin Kroeker e202bcb942 Merge pull request #5859 from martin-frbg/lapack1287
Fix row-major A dimension for SIDE=R in LAPACKE_?TPRFB_WORK (Reference-LAPACK PR 1287)
2026-06-25 14:05:24 +02:00
Martin Kroeker 2a859d5fc4 Fix row-major A dimension for SIDE=R (Reference-LAPACK PR 1287) 2026-06-24 18:33:45 +02:00
Martin Kroeker 9971940f04 Also don't check LDU when U is not used (from Reference-LAPACK PR 1284) 2026-06-24 16:06:24 +02:00
Yue ChangandClaude Fable 5 ede136ee4e Fix 32-bit integer overflow in LAPACKE nancheck index arithmetic
The optional NaN checks performed by LAPACKE front-ends computed array
offsets and lengths in 32-bit lapack_int arithmetic, which overflows for
large matrices (e.g. LAPACKE_dpotrf with n = lda >= 46341 overflows
j*lda in LAPACKE_dtr_nancheck, leading to out-of-bounds reads and
crashes). Several nancheck helpers (ge, gb, tp, tf) already cast to
size_t; this applies the same treatment to the ones that were missed:

- ?tr_nancheck: cast a[i+j*lda] index to size_t (also covers po/sy/he
  checks, i.e. the POTRF/Cholesky path)
- ?_nancheck (vector): iterate by element count instead of n*inc, with
  size_t indexing
- ?sp/?pp/?pf/?hp/?tp/?tf_nancheck: compute n*(n+1)/2 length in size_t
- ?tz_nancheck: widen the part offsets to int64_t (keeping the -1
  sentinel) and compute them with a widening cast

Verified with UBSan: LAPACKE_str_nancheck at n = lda = 47000 previously
reported signed integer overflow and crashed with SEGV at -O0; it now
passes and still detects the NaN. Old and new code produce identical
results across 1907 enumerated small-size cases (all layouts, uplo,
diag, shapes and NaN positions for tr/tz/vector/packed variants).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 23:42:28 -04:00
Martin Kroeker 7dde52d5d2 Follow-up on ?GESVDQ updates from PR 1146 (Reference-LAPACK PR 1221) 2026-04-01 16:27:56 +02:00
Martin Kroeker c6e4d17819 Follow-up on ?GESVDQ updates from PR 1146 (Reference-LAPACK PR 1221) 2026-04-01 15:34:02 +02:00
Matti Picus ea44d63ad7 copy exports.h to palack-netlib/LAPACKE/include 2026-02-06 17:44:38 +11:00
mattip be7da1f111 add visibility=default to exported functions, visibility=hidden to most assembler 2026-02-05 06:31:17 +11:00
Martin Kroeker b746f0eda3 Allocate IWORK to hold at least the one element for workspace queries 2025-07-10 08:58:16 +02:00
Martin Kroeker bad47bd024 Fix too strict leading dimensions check in LAPACKE_?gesdd_work (Reference-LAPACK PR #1126) (#5307)
* relax leading dimensions check (Reference-LAPACK PR #1126)
2025-06-15 22:47:14 +02:00
Martin Kroeker f4e5177050 fix dimension used in nancheck (Reference-LAPACK PR 1135) 2025-06-15 19:16:58 +02:00
Martin Kroeker 2a6beac88f fix dimension used in transposition (Reference-LAPACK PR 1135) 2025-06-15 19:14:53 +02:00
Martin Kroeker d8a2324699 fix dimension used in nancheck (Reference-LAPACK PR 1135) 2025-06-15 19:13:23 +02:00
Martin Kroeker 874744976c fix dimension used in nancheck (Reference-LAPACK PR 1135) 2025-06-15 19:11:26 +02:00
chitao1234 e1bd631593 allow the use of LAPACK_COMPLEX_CPP when using MSVC compiler 2025-04-24 18:59:10 +08:00
Martin Kroeker 8a418b1aab Add dummy implementations for the LAPACK_COMPLEX_CUSTOM case 2025-03-12 23:20:16 +01:00
Martin Kroeker 4c1a23673a Remove comparison that is always false (Reference-LAPACK PR 1062) 2025-01-11 11:40:31 -08:00
Martin Kroeker 8385e02ae1 Do not check LDVT when VT is not going to be referenced 2025-01-06 14:42:40 -08:00
Martin Kroeker 5c9417d306 Assume no underline suffixes on symbols when compiling with ifx on Windows 2024-12-23 19:07:39 +01:00
nickel 79f4bbd4cd fix: return types of *trtrs routines 2024-10-24 11:20:02 +02:00
Martin Kroeker 923b79de47 make the type of the hidden arguments configurable via LAPACK_STRLEN (Reference-LAPACK PR 1025) 2024-08-06 17:55:14 +02:00
Martin Kroeker aa46f1e4e7 revert addition of MSVC-compatible complex (moved to lapacke_config.h) 2023-12-12 23:07:48 +01:00
Martin Kroeker dcdc351272 Add MSVC-compatible complex types 2023-12-12 23:06:22 +01:00
Martin Kroeker dcf6999c4e remove extraneous endif 2023-12-12 11:27:17 +01:00
Martin Kroeker 330101e0b3 Add complex type definitions for MSVC 2023-12-11 21:52:00 +01:00
Martin Kroeker cd8ac192a9 fix improper function prototypes (empty parentheses) 2023-09-30 12:58:30 +02:00
Martin Kroeker 4c43d1eeba Fix C prototypes and LAPACKE headers for ?GEDMD/?GEDMDQ (#4134)
* Fix prototypes for ?GEDMD/?GEDMDQ and their LAPACKE interfaces
2023-07-15 07:47:19 +02:00
Martin Kroeker 63ec2ad395 Fix computation of UPLO in LAPACKE_?larfb (Reference-LAPACK PR 878) 2023-07-08 10:00:05 +02:00
Martin Kroeker 5eef0793ba Fix missing semicolon 2023-06-20 18:56:33 +02:00
Martin Kroeker de88063aa2 Add interfaces for Dynamic Mode Decomposition functions (Reference-LAPACK PR 736) 2023-06-20 15:56:10 +02:00
Martin Kroeker c7a05458cd Add Dynamic Mode Decomposition functions (Reference-LAPACK PR 736) 2023-06-20 15:52:44 +02:00
Martin Kroeker e28fdf71b7 Add LAPACKE interfaces for Dynamic Mode Decomposition (Reference-LAPACK PR 736) 2023-06-20 14:50:54 +02:00
Martin Kroeker defc0780e8 Merge branch 'xianyi:develop' into lapack736 2023-06-20 14:46:13 +02:00
Martin Kroeker be5e1ecee3 Add LAPACKE interfaces for ?TRSYL3 (Reference-LAPACK PR 651) 2023-06-20 11:27:11 +02:00
Martin Kroeker c0865ab0fe Add LAPACKE interfaces for Dynamic Mode Decomposition (Reference-LAPACK PR 736) 2023-06-20 10:45:29 +02:00
Martin Kroeker a757e1486f Fix potential segfault from not allocating work array (Reference-LAPACK 836) 2023-05-31 08:44:20 +02:00
Martin Kroeker 0d72705adc fix segfault when executing with row major (Reference-LAPACK 768) 2023-05-24 11:41:28 +02:00
Martin Kroeker abbc387145 fix segfault when executing with row major 2023-05-24 11:40:25 +02:00
Martin Kroeker b0a72586a3 fix segfault when executing with row major 2023-05-24 11:39:20 +02:00
Martin Kroeker c0da3af13b Fix segfault when executing with row major 2023-05-24 11:37:32 +02:00
Martin Kroeker 58ac660d07 Add interfaces for [cz]unhr_col and [sd]orhr_col (Reference-LAPACK PR 827) 2023-05-18 23:52:07 +02:00
Martin Kroeker 2182cc0ff5 Add interfaces for [cz]unhr_col and [sd]orhr_col (Reference-LAPACK PR 827) 2023-05-18 23:48:21 +02:00
Martin Kroeker 4f10899f5a Add interfaces for [cz]unhr_col and [sd]orhr_col (Reference-LAPACK PR 827) 2023-05-18 23:43:18 +02:00
Martin Kroeker bc967e7709 Add interfaces for [cz]unhr_col and [sd]orhr_col (Reference-LAPACK PR 827) 2023-05-18 23:41:46 +02:00