Add early returns
This commit is contained in:
parent
936966a42c
commit
6797a3a1e0
|
@ -30,6 +30,8 @@ void RELAPACK_cgetrf(
|
|||
return;
|
||||
}
|
||||
|
||||
if (*m == 0 || *n == 0) return;
|
||||
|
||||
const blasint sn = MIN(*m, *n);
|
||||
|
||||
RELAPACK_cgetrf_rec(m, &sn, A, ldA, ipiv, info);
|
||||
|
@ -62,9 +64,11 @@ static void RELAPACK_cgetrf_rec(
|
|||
blasint *info
|
||||
) {
|
||||
|
||||
if (*n <= MAX(CROSSOVER_CGETRF, 1)) {
|
||||
if (*m == 0 || *n == 0) return;
|
||||
|
||||
if ( *n <= MAX(CROSSOVER_CGETRF, 1)) {
|
||||
// Unblocked
|
||||
LAPACK(cgetf2)(m, n, A, ldA, ipiv, info);
|
||||
LAPACK(cgetrf2)(m, n, A, ldA, ipiv, info);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -96,6 +100,7 @@ static void RELAPACK_cgetrf_rec(
|
|||
|
||||
// recursion(A_L, ipiv_T)
|
||||
RELAPACK_cgetrf_rec(m, &n1, A_L, ldA, ipiv_T, info);
|
||||
if (*info) return;
|
||||
// apply pivots to A_R
|
||||
LAPACK(claswp)(&n2, A_R, ldA, iONE, &n1, ipiv_T, iONE);
|
||||
|
||||
|
|
|
@ -40,6 +40,8 @@ void RELAPACK_chegst(
|
|||
return;
|
||||
}
|
||||
|
||||
if (*n == 0) return;
|
||||
|
||||
// Clean char * arguments
|
||||
const char cleanuplo = lower ? 'L' : 'U';
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ void RELAPACK_chetrf_rook(
|
|||
*info = -2;
|
||||
else if (*ldA < MAX(1, *n))
|
||||
*info = -4;
|
||||
else if (*lWork < minlWork && *lWork != -1)
|
||||
else if ((*lWork < 1 || *lWork < minlWork) && *lWork != -1)
|
||||
*info = -7;
|
||||
else if (*lWork == -1) {
|
||||
// Work size query
|
||||
|
@ -56,7 +56,7 @@ void RELAPACK_chetrf_rook(
|
|||
|
||||
if (*info) {
|
||||
const blasint minfo = -*info;
|
||||
LAPACK(xerbla)("CHETRF", &minfo, strlen("CHETRF"));
|
||||
LAPACK(xerbla)("CHETRF_ROOK", &minfo, strlen("CHETRF_ROOK"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ void RELAPACK_clauum(
|
|||
return;
|
||||
}
|
||||
|
||||
if (*n == 0) return;
|
||||
|
||||
// Clean char * arguments
|
||||
const char cleanuplo = lower ? 'L' : 'U';
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@ void RELAPACK_cpotrf(
|
|||
return;
|
||||
}
|
||||
|
||||
if (*n == 0) return;
|
||||
|
||||
// Clean char * arguments
|
||||
const char cleanuplo = lower ? 'L' : 'U';
|
||||
|
||||
|
@ -46,6 +48,7 @@ static void RELAPACK_cpotrf_rec(
|
|||
float *A, const blasint *ldA,
|
||||
blasint *info
|
||||
){
|
||||
if (*n == 0) return;
|
||||
|
||||
if (*n <= MAX(CROSSOVER_CPOTRF, 1)) {
|
||||
// Unblocked
|
||||
|
|
|
@ -36,7 +36,7 @@ void RELAPACK_csytrf(
|
|||
*info = -2;
|
||||
else if (*ldA < MAX(1, *n))
|
||||
*info = -4;
|
||||
else if (*lWork < minlWork && *lWork != -1)
|
||||
else if ((*lWork < 1 || *lWork < minlWork) && *lWork != -1)
|
||||
*info = -7;
|
||||
else if (*lWork == -1) {
|
||||
// Work size query
|
||||
|
@ -67,6 +67,7 @@ void RELAPACK_csytrf(
|
|||
blasint nout;
|
||||
|
||||
// Recursive kernel
|
||||
if (*n != 0)
|
||||
RELAPACK_csytrf_rec(&cleanuplo, n, n, &nout, A, ldA, ipiv, cleanWork, n, info);
|
||||
|
||||
#if XSYTRF_ALLOW_MALLOC
|
||||
|
|
|
@ -36,7 +36,7 @@ void RELAPACK_csytrf_rook(
|
|||
*info = -2;
|
||||
else if (*ldA < MAX(1, *n))
|
||||
*info = -4;
|
||||
else if (*lWork < minlWork && *lWork != -1)
|
||||
else if ((*lWork < 1 || *lWork < minlWork) && *lWork != -1)
|
||||
*info = -7;
|
||||
else if (*lWork == -1) {
|
||||
// Work size query
|
||||
|
@ -56,7 +56,7 @@ void RELAPACK_csytrf_rook(
|
|||
|
||||
if (*info) {
|
||||
const blasint minfo = -*info;
|
||||
LAPACK(xerbla)("CSYTRF", &minfo, strlen("CSYTRF"));
|
||||
LAPACK(xerbla)("CSYTRF_ROOK", &minfo, strlen("CSYTRF_ROOK"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -68,6 +68,13 @@ void RELAPACK_ctgsyl(
|
|||
return;
|
||||
}
|
||||
|
||||
if ( *m == 0 || *n == 0) {
|
||||
*scale = 1.;
|
||||
if (notran && (*ijob != 0))
|
||||
*dif = 0.;
|
||||
return;
|
||||
}
|
||||
|
||||
// Clean char * arguments
|
||||
const char cleantrans = notran ? 'N' : 'C';
|
||||
|
||||
|
|
|
@ -47,6 +47,11 @@ void RELAPACK_ctrsyl(
|
|||
return;
|
||||
}
|
||||
|
||||
if (*m == 0 || *n == 0) {
|
||||
*scale = 1.;
|
||||
return;
|
||||
}
|
||||
|
||||
// Clean char * arguments
|
||||
const char cleantranA = notransA ? 'N' : 'C';
|
||||
const char cleantranB = notransB ? 'N' : 'C';
|
||||
|
|
|
@ -36,6 +36,8 @@ void RELAPACK_ctrtri(
|
|||
return;
|
||||
}
|
||||
|
||||
if (*n == 0) return;
|
||||
|
||||
// Clean char * arguments
|
||||
const char cleanuplo = lower ? 'L' : 'U';
|
||||
const char cleandiag = nounit ? 'N' : 'U';
|
||||
|
|
Loading…
Reference in New Issue