Skip to content

Commit 452859f

Browse files
authored
Merge pull request #2097 from martin-frbg/rela-getrf
Correct INFO=4 condition in ReLAPACK xGETRF
2 parents 91943b7 + 11530b7 commit 452859f

File tree

4 files changed

+5
-11
lines changed

4 files changed

+5
-11
lines changed

relapack/src/cgetrf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ void RELAPACK_cgetrf(
2222
*info = -1;
2323
else if (*n < 0)
2424
*info = -2;
25-
else if (*ldA < MAX(1, *n))
25+
else if (*ldA < MAX(1, *m))
2626
*info = -4;
2727
if (*info) {
2828
const blasint minfo = -*info;

relapack/src/dgetrf.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,15 @@ void RELAPACK_dgetrf(
1515
double *A, const blasint *ldA, blasint *ipiv,
1616
blasint *info
1717
) {
18-
1918
// Check arguments
2019
*info = 0;
2120
if (*m < 0)
2221
*info = -1;
2322
else if (*n < 0)
2423
*info = -2;
25-
else if (*ldA < MAX(1, *n))
24+
else if (*ldA < MAX(1, *m))
2625
*info = -4;
27-
if (*info) {
26+
if (*info!=0) {
2827
const blasint minfo = -*info;
2928
LAPACK(xerbla)("DGETRF", &minfo, strlen("DGETRF"));
3029
return;

relapack/src/sgetrf.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#include "relapack.h"
2-
32
static void RELAPACK_sgetrf_rec(const blasint *, const blasint *, float *, const blasint *,
43
blasint *, blasint *);
54

@@ -22,16 +21,14 @@ void RELAPACK_sgetrf(
2221
*info = -1;
2322
else if (*n < 0)
2423
*info = -2;
25-
else if (*ldA < MAX(1, *n))
24+
else if (*ldA < MAX(1, *m))
2625
*info = -4;
2726
if (*info) {
2827
const blasint minfo = -*info;
2928
LAPACK(xerbla)("SGETRF", &minfo, strlen("SGETRF"));
3029
return;
3130
}
32-
3331
const blasint sn = MIN(*m, *n);
34-
3532
RELAPACK_sgetrf_rec(m, &sn, A, ldA, ipiv, info);
3633

3734
// Right remainder
@@ -61,7 +58,6 @@ static void RELAPACK_sgetrf_rec(
6158
float *A, const blasint *ldA, blasint *ipiv,
6259
blasint *info
6360
) {
64-
6561
if (*n <= MAX(CROSSOVER_SGETRF, 1)) {
6662
// Unblocked
6763
LAPACK(sgetf2)(m, n, A, ldA, ipiv, info);
@@ -77,7 +73,6 @@ static void RELAPACK_sgetrf_rec(
7773
const blasint n1 = SREC_SPLIT(*n);
7874
const blasint n2 = *n - n1;
7975
const blasint m2 = *m - n1;
80-
8176
// A_L A_R
8277
float *const A_L = A;
8378
float *const A_R = A + *ldA * n1;

relapack/src/zgetrf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ void RELAPACK_zgetrf(
2222
*info = -1;
2323
else if (*n < 0)
2424
*info = -2;
25-
else if (*ldA < MAX(1, *n))
25+
else if (*ldA < MAX(1, *m))
2626
*info = -4;
2727
if (*info) {
2828
const blasint minfo = -*info;

0 commit comments

Comments
 (0)