Correct INFO=4 condition

This commit is contained in:
Martin Kroeker 2019-04-28 09:58:56 +02:00 committed by GitHub
parent 91943b7325
commit 11530b76f7
4 changed files with 5 additions and 11 deletions

View File

@ -22,7 +22,7 @@ void RELAPACK_cgetrf(
*info = -1; *info = -1;
else if (*n < 0) else if (*n < 0)
*info = -2; *info = -2;
else if (*ldA < MAX(1, *n)) else if (*ldA < MAX(1, *m))
*info = -4; *info = -4;
if (*info) { if (*info) {
const blasint minfo = -*info; const blasint minfo = -*info;

View File

@ -15,16 +15,15 @@ void RELAPACK_dgetrf(
double *A, const blasint *ldA, blasint *ipiv, double *A, const blasint *ldA, blasint *ipiv,
blasint *info blasint *info
) { ) {
// Check arguments // Check arguments
*info = 0; *info = 0;
if (*m < 0) if (*m < 0)
*info = -1; *info = -1;
else if (*n < 0) else if (*n < 0)
*info = -2; *info = -2;
else if (*ldA < MAX(1, *n)) else if (*ldA < MAX(1, *m))
*info = -4; *info = -4;
if (*info) { if (*info!=0) {
const blasint minfo = -*info; const blasint minfo = -*info;
LAPACK(xerbla)("DGETRF", &minfo, strlen("DGETRF")); LAPACK(xerbla)("DGETRF", &minfo, strlen("DGETRF"));
return; return;

View File

@ -1,5 +1,4 @@
#include "relapack.h" #include "relapack.h"
static void RELAPACK_sgetrf_rec(const blasint *, const blasint *, float *, const blasint *, static void RELAPACK_sgetrf_rec(const blasint *, const blasint *, float *, const blasint *,
blasint *, blasint *); blasint *, blasint *);
@ -22,16 +21,14 @@ void RELAPACK_sgetrf(
*info = -1; *info = -1;
else if (*n < 0) else if (*n < 0)
*info = -2; *info = -2;
else if (*ldA < MAX(1, *n)) else if (*ldA < MAX(1, *m))
*info = -4; *info = -4;
if (*info) { if (*info) {
const blasint minfo = -*info; const blasint minfo = -*info;
LAPACK(xerbla)("SGETRF", &minfo, strlen("SGETRF")); LAPACK(xerbla)("SGETRF", &minfo, strlen("SGETRF"));
return; return;
} }
const blasint sn = MIN(*m, *n); const blasint sn = MIN(*m, *n);
RELAPACK_sgetrf_rec(m, &sn, A, ldA, ipiv, info); RELAPACK_sgetrf_rec(m, &sn, A, ldA, ipiv, info);
// Right remainder // Right remainder
@ -61,7 +58,6 @@ static void RELAPACK_sgetrf_rec(
float *A, const blasint *ldA, blasint *ipiv, float *A, const blasint *ldA, blasint *ipiv,
blasint *info blasint *info
) { ) {
if (*n <= MAX(CROSSOVER_SGETRF, 1)) { if (*n <= MAX(CROSSOVER_SGETRF, 1)) {
// Unblocked // Unblocked
LAPACK(sgetf2)(m, n, A, ldA, ipiv, info); LAPACK(sgetf2)(m, n, A, ldA, ipiv, info);
@ -77,7 +73,6 @@ static void RELAPACK_sgetrf_rec(
const blasint n1 = SREC_SPLIT(*n); const blasint n1 = SREC_SPLIT(*n);
const blasint n2 = *n - n1; const blasint n2 = *n - n1;
const blasint m2 = *m - n1; const blasint m2 = *m - n1;
// A_L A_R // A_L A_R
float *const A_L = A; float *const A_L = A;
float *const A_R = A + *ldA * n1; float *const A_R = A + *ldA * n1;

View File

@ -22,7 +22,7 @@ void RELAPACK_zgetrf(
*info = -1; *info = -1;
else if (*n < 0) else if (*n < 0)
*info = -2; *info = -2;
else if (*ldA < MAX(1, *n)) else if (*ldA < MAX(1, *m))
*info = -4; *info = -4;
if (*info) { if (*info) {
const blasint minfo = -*info; const blasint minfo = -*info;