summaryrefslogtreecommitdiff
path: root/LAPACKE/src
diff options
context:
space:
mode:
authorlangou <julien.langou@ucdenver.edu>2017-05-25 01:14:52 +0200
committerGitHub <noreply@github.com>2017-05-25 01:14:52 +0200
commit969a6806ffed642b8578fea76e461967b647825d (patch)
treed081ee49fef087834452b0a0d6fb117562fd8c8b /LAPACKE/src
parent942935539c6132984fd8a4ab202aca1e1fe794e1 (diff)
parent760d0b621989630170e55e79175d88721bd1dadf (diff)
downloadlapack-969a6806ffed642b8578fea76e461967b647825d.tar.gz
lapack-969a6806ffed642b8578fea76e461967b647825d.tar.bz2
lapack-969a6806ffed642b8578fea76e461967b647825d.zip
Merge pull request #157 from echeresh/e_lapacke
Fixing NaN-checking in LAPACKE interfaces for sub- and super-diagonal parameters
Diffstat (limited to 'LAPACKE/src')
-rw-r--r--LAPACKE/src/lapacke_checon_3.c3
-rw-r--r--LAPACKE/src/lapacke_chesv_rk.c3
-rw-r--r--LAPACKE/src/lapacke_chetrf_rk.c3
-rw-r--r--LAPACKE/src/lapacke_chetri_3.c3
-rw-r--r--LAPACKE/src/lapacke_cstegr.c2
-rw-r--r--LAPACKE/src/lapacke_cstein.c2
-rw-r--r--LAPACKE/src/lapacke_csycon_3.c3
-rw-r--r--LAPACKE/src/lapacke_csysv_rk.c3
-rw-r--r--LAPACKE/src/lapacke_csytrf_rk.c3
-rw-r--r--LAPACKE/src/lapacke_csytri_3.c3
-rw-r--r--LAPACKE/src/lapacke_dbdsdc.c2
-rw-r--r--LAPACKE/src/lapacke_dstegr.c2
-rw-r--r--LAPACKE/src/lapacke_dstein.c2
-rw-r--r--LAPACKE/src/lapacke_dstev.c2
-rw-r--r--LAPACKE/src/lapacke_dstevd.c2
-rw-r--r--LAPACKE/src/lapacke_dstevx.c2
-rw-r--r--LAPACKE/src/lapacke_dsycon_3.c3
-rw-r--r--LAPACKE/src/lapacke_dsysv_rk.c3
-rw-r--r--LAPACKE/src/lapacke_dsytrf_rk.c3
-rw-r--r--LAPACKE/src/lapacke_dsytri_3.c3
-rw-r--r--LAPACKE/src/lapacke_sbdsdc.c2
-rw-r--r--LAPACKE/src/lapacke_sstegr.c2
-rw-r--r--LAPACKE/src/lapacke_sstein.c2
-rw-r--r--LAPACKE/src/lapacke_sstev.c2
-rw-r--r--LAPACKE/src/lapacke_sstevd.c2
-rw-r--r--LAPACKE/src/lapacke_sstevx.c2
-rw-r--r--LAPACKE/src/lapacke_ssycon_3.c3
-rw-r--r--LAPACKE/src/lapacke_ssysv_rk.c3
-rw-r--r--LAPACKE/src/lapacke_ssytrf_rk.c3
-rw-r--r--LAPACKE/src/lapacke_ssytri_3.c3
-rw-r--r--LAPACKE/src/lapacke_zhecon_3.c3
-rw-r--r--LAPACKE/src/lapacke_zhesv_rk.c3
-rw-r--r--LAPACKE/src/lapacke_zhetrf_rk.c3
-rw-r--r--LAPACKE/src/lapacke_zhetri_3.c3
-rw-r--r--LAPACKE/src/lapacke_zstegr.c2
-rw-r--r--LAPACKE/src/lapacke_zstein.c2
-rw-r--r--LAPACKE/src/lapacke_zsycon_3.c3
-rw-r--r--LAPACKE/src/lapacke_zsysv_rk.c3
-rw-r--r--LAPACKE/src/lapacke_zsytrf_rk.c3
-rw-r--r--LAPACKE/src/lapacke_zsytri_3.c3
40 files changed, 40 insertions, 64 deletions
diff --git a/LAPACKE/src/lapacke_checon_3.c b/LAPACKE/src/lapacke_checon_3.c
index d96cb986..069fd825 100644
--- a/LAPACKE/src/lapacke_checon_3.c
+++ b/LAPACKE/src/lapacke_checon_3.c
@@ -40,6 +40,7 @@ lapack_int LAPACKE_checon_3( int matrix_layout, char uplo, lapack_int n,
{
lapack_int info = 0;
lapack_complex_float* work = NULL;
+ lapack_int e_start = LAPACKE_lsame( uplo, 'U' ) ? 1 : 0;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_checon_3", -1 );
return -1;
@@ -49,7 +50,7 @@ lapack_int LAPACKE_checon_3( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_che_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_c_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_c_nancheck( n-1, e + e_start, 1 ) ) {
return -6;
}
if( LAPACKE_s_nancheck( 1, &anorm, 1 ) ) {
diff --git a/LAPACKE/src/lapacke_chesv_rk.c b/LAPACKE/src/lapacke_chesv_rk.c
index 04b5f6a0..b682c3b3 100644
--- a/LAPACKE/src/lapacke_chesv_rk.c
+++ b/LAPACKE/src/lapacke_chesv_rk.c
@@ -52,9 +52,6 @@ lapack_int LAPACKE_chesv_rk( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_che_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -5;
}
- if( LAPACKE_c_nancheck( n, e, 1) ) {
- return -7;
- }
if( LAPACKE_cge_nancheck( matrix_layout, n, nrhs, b, ldb ) ) {
return -10;
}
diff --git a/LAPACKE/src/lapacke_chetrf_rk.c b/LAPACKE/src/lapacke_chetrf_rk.c
index b9133e71..00a32b97 100644
--- a/LAPACKE/src/lapacke_chetrf_rk.c
+++ b/LAPACKE/src/lapacke_chetrf_rk.c
@@ -50,9 +50,6 @@ lapack_int LAPACKE_chetrf_rk( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_che_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_c_nancheck( n, e, 1 ) ) {
- return -6;
- }
#endif
/* Query optimal working array(s) size */
info = LAPACKE_chetrf_rk_work( matrix_layout, uplo, n, a, lda, e, ipiv,
diff --git a/LAPACKE/src/lapacke_chetri_3.c b/LAPACKE/src/lapacke_chetri_3.c
index 8ce3ad35..a273983a 100644
--- a/LAPACKE/src/lapacke_chetri_3.c
+++ b/LAPACKE/src/lapacke_chetri_3.c
@@ -41,6 +41,7 @@ lapack_int LAPACKE_chetri_3( int matrix_layout, char uplo, lapack_int n,
lapack_int lwork = -1;
lapack_complex_float* work = NULL;
lapack_complex_float work_query;
+ lapack_int e_start = LAPACKE_lsame( uplo, 'U' ) ? 1 : 0;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_chetri_3", -1 );
return -1;
@@ -50,7 +51,7 @@ lapack_int LAPACKE_chetri_3( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_che_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_c_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_c_nancheck( n-1, e + e_start, 1 ) ) {
return -6;
}
#endif
diff --git a/LAPACKE/src/lapacke_cstegr.c b/LAPACKE/src/lapacke_cstegr.c
index 0cd589a7..07057a63 100644
--- a/LAPACKE/src/lapacke_cstegr.c
+++ b/LAPACKE/src/lapacke_cstegr.c
@@ -58,7 +58,7 @@ lapack_int LAPACKE_cstegr( int matrix_layout, char jobz, char range,
if( LAPACKE_s_nancheck( n, d, 1 ) ) {
return -5;
}
- if( LAPACKE_s_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_s_nancheck( n-1, e, 1 ) ) {
return -6;
}
if( LAPACKE_lsame( range, 'v' ) ) {
diff --git a/LAPACKE/src/lapacke_cstein.c b/LAPACKE/src/lapacke_cstein.c
index 5f5cd364..b1d20cc1 100644
--- a/LAPACKE/src/lapacke_cstein.c
+++ b/LAPACKE/src/lapacke_cstein.c
@@ -51,7 +51,7 @@ lapack_int LAPACKE_cstein( int matrix_layout, lapack_int n, const float* d,
if( LAPACKE_s_nancheck( n, d, 1 ) ) {
return -3;
}
- if( LAPACKE_s_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_s_nancheck( n-1, e, 1 ) ) {
return -4;
}
if( LAPACKE_s_nancheck( n, w, 1 ) ) {
diff --git a/LAPACKE/src/lapacke_csycon_3.c b/LAPACKE/src/lapacke_csycon_3.c
index 6425d61a..4beff440 100644
--- a/LAPACKE/src/lapacke_csycon_3.c
+++ b/LAPACKE/src/lapacke_csycon_3.c
@@ -40,6 +40,7 @@ lapack_int LAPACKE_csycon_3( int matrix_layout, char uplo, lapack_int n,
{
lapack_int info = 0;
lapack_complex_float* work = NULL;
+ lapack_int e_start = LAPACKE_lsame( uplo, 'U' ) ? 1 : 0;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_csycon_3", -1 );
return -1;
@@ -49,7 +50,7 @@ lapack_int LAPACKE_csycon_3( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_csy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_c_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_c_nancheck( n-1, e + e_start, 1 ) ) {
return -6;
}
if( LAPACKE_s_nancheck( 1, &anorm, 1 ) ) {
diff --git a/LAPACKE/src/lapacke_csysv_rk.c b/LAPACKE/src/lapacke_csysv_rk.c
index 34e95f20..fd1e6faa 100644
--- a/LAPACKE/src/lapacke_csysv_rk.c
+++ b/LAPACKE/src/lapacke_csysv_rk.c
@@ -52,9 +52,6 @@ lapack_int LAPACKE_csysv_rk( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_csy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -5;
}
- if( LAPACKE_c_nancheck( n, e, 1) ) {
- return -7;
- }
if( LAPACKE_cge_nancheck( matrix_layout, n, nrhs, b, ldb ) ) {
return -9;
}
diff --git a/LAPACKE/src/lapacke_csytrf_rk.c b/LAPACKE/src/lapacke_csytrf_rk.c
index eac1e6c4..135bdf30 100644
--- a/LAPACKE/src/lapacke_csytrf_rk.c
+++ b/LAPACKE/src/lapacke_csytrf_rk.c
@@ -50,9 +50,6 @@ lapack_int LAPACKE_csytrf_rk( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_csy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_c_nancheck( n, e, 1 ) ) {
- return -6;
- }
#endif
/* Query optimal working array(s) size */
info = LAPACKE_csytrf_rk_work( matrix_layout, uplo, n, a, lda, e, ipiv,
diff --git a/LAPACKE/src/lapacke_csytri_3.c b/LAPACKE/src/lapacke_csytri_3.c
index 543d408d..378537b3 100644
--- a/LAPACKE/src/lapacke_csytri_3.c
+++ b/LAPACKE/src/lapacke_csytri_3.c
@@ -41,6 +41,7 @@ lapack_int LAPACKE_csytri_3( int matrix_layout, char uplo, lapack_int n,
lapack_int lwork = -1;
lapack_complex_float* work = NULL;
lapack_complex_float work_query;
+ lapack_int e_start = LAPACKE_lsame( uplo, 'U' ) ? 1 : 0;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_csytri_3", -1 );
return -1;
@@ -50,7 +51,7 @@ lapack_int LAPACKE_csytri_3( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_csy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_c_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_c_nancheck( n-1, e + e_start, 1 ) ) {
return -6;
}
#endif
diff --git a/LAPACKE/src/lapacke_dbdsdc.c b/LAPACKE/src/lapacke_dbdsdc.c
index a18d507a..e1d9d38e 100644
--- a/LAPACKE/src/lapacke_dbdsdc.c
+++ b/LAPACKE/src/lapacke_dbdsdc.c
@@ -52,7 +52,7 @@ lapack_int LAPACKE_dbdsdc( int matrix_layout, char uplo, char compq,
if( LAPACKE_d_nancheck( n, d, 1 ) ) {
return -5;
}
- if( LAPACKE_d_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_d_nancheck( n-1, e, 1 ) ) {
return -6;
}
#endif
diff --git a/LAPACKE/src/lapacke_dstegr.c b/LAPACKE/src/lapacke_dstegr.c
index 1d63e12b..2704e470 100644
--- a/LAPACKE/src/lapacke_dstegr.c
+++ b/LAPACKE/src/lapacke_dstegr.c
@@ -58,7 +58,7 @@ lapack_int LAPACKE_dstegr( int matrix_layout, char jobz, char range,
if( LAPACKE_d_nancheck( n, d, 1 ) ) {
return -5;
}
- if( LAPACKE_d_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_d_nancheck( n-1, e, 1 ) ) {
return -6;
}
if( LAPACKE_lsame( range, 'v' ) ) {
diff --git a/LAPACKE/src/lapacke_dstein.c b/LAPACKE/src/lapacke_dstein.c
index 140a1f55..85c6e414 100644
--- a/LAPACKE/src/lapacke_dstein.c
+++ b/LAPACKE/src/lapacke_dstein.c
@@ -50,7 +50,7 @@ lapack_int LAPACKE_dstein( int matrix_layout, lapack_int n, const double* d,
if( LAPACKE_d_nancheck( n, d, 1 ) ) {
return -3;
}
- if( LAPACKE_d_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_d_nancheck( n-1, e, 1 ) ) {
return -4;
}
if( LAPACKE_d_nancheck( n, w, 1 ) ) {
diff --git a/LAPACKE/src/lapacke_dstev.c b/LAPACKE/src/lapacke_dstev.c
index 6e575b18..0817a5c5 100644
--- a/LAPACKE/src/lapacke_dstev.c
+++ b/LAPACKE/src/lapacke_dstev.c
@@ -47,7 +47,7 @@ lapack_int LAPACKE_dstev( int matrix_layout, char jobz, lapack_int n, double* d,
if( LAPACKE_d_nancheck( n, d, 1 ) ) {
return -4;
}
- if( LAPACKE_d_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_d_nancheck( n-1, e, 1 ) ) {
return -5;
}
#endif
diff --git a/LAPACKE/src/lapacke_dstevd.c b/LAPACKE/src/lapacke_dstevd.c
index be2f0929..c0f15601 100644
--- a/LAPACKE/src/lapacke_dstevd.c
+++ b/LAPACKE/src/lapacke_dstevd.c
@@ -52,7 +52,7 @@ lapack_int LAPACKE_dstevd( int matrix_layout, char jobz, lapack_int n, double* d
if( LAPACKE_d_nancheck( n, d, 1 ) ) {
return -4;
}
- if( LAPACKE_d_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_d_nancheck( n-1, e, 1 ) ) {
return -5;
}
#endif
diff --git a/LAPACKE/src/lapacke_dstevx.c b/LAPACKE/src/lapacke_dstevx.c
index 45f161d4..7ebc3412 100644
--- a/LAPACKE/src/lapacke_dstevx.c
+++ b/LAPACKE/src/lapacke_dstevx.c
@@ -54,7 +54,7 @@ lapack_int LAPACKE_dstevx( int matrix_layout, char jobz, char range,
if( LAPACKE_d_nancheck( n, d, 1 ) ) {
return -5;
}
- if( LAPACKE_d_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_d_nancheck( n-1, e, 1 ) ) {
return -6;
}
if( LAPACKE_lsame( range, 'v' ) ) {
diff --git a/LAPACKE/src/lapacke_dsycon_3.c b/LAPACKE/src/lapacke_dsycon_3.c
index 40503d11..063bee90 100644
--- a/LAPACKE/src/lapacke_dsycon_3.c
+++ b/LAPACKE/src/lapacke_dsycon_3.c
@@ -40,6 +40,7 @@ lapack_int LAPACKE_dsycon_3( int matrix_layout, char uplo, lapack_int n,
lapack_int info = 0;
lapack_int* iwork = NULL;
double* work = NULL;
+ lapack_int e_start = LAPACKE_lsame( uplo, 'U' ) ? 1 : 0;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_dsycon_3", -1 );
return -1;
@@ -49,7 +50,7 @@ lapack_int LAPACKE_dsycon_3( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_dsy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_d_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_d_nancheck( n-1, e + e_start, 1 ) ) {
return -6;
}
if( LAPACKE_d_nancheck( 1, &anorm, 1 ) ) {
diff --git a/LAPACKE/src/lapacke_dsysv_rk.c b/LAPACKE/src/lapacke_dsysv_rk.c
index ba9eaa3a..259cb340 100644
--- a/LAPACKE/src/lapacke_dsysv_rk.c
+++ b/LAPACKE/src/lapacke_dsysv_rk.c
@@ -50,9 +50,6 @@ lapack_int LAPACKE_dsysv_rk( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_dsy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -5;
}
- if( LAPACKE_d_nancheck( n, e, 1) ) {
- return -7;
- }
if( LAPACKE_dge_nancheck( matrix_layout, n, nrhs, b, ldb ) ) {
return -9;
}
diff --git a/LAPACKE/src/lapacke_dsytrf_rk.c b/LAPACKE/src/lapacke_dsytrf_rk.c
index 0d9cade8..239b5469 100644
--- a/LAPACKE/src/lapacke_dsytrf_rk.c
+++ b/LAPACKE/src/lapacke_dsytrf_rk.c
@@ -49,9 +49,6 @@ lapack_int LAPACKE_dsytrf_rk( int matrix_layout, char uplo, lapack_int n, double
if( LAPACKE_dsy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_d_nancheck( n, e, 1 ) ) {
- return -6;
- }
#endif
/* Query optimal working array(s) size */
info = LAPACKE_dsytrf_rk_work( matrix_layout, uplo, n, a, lda, e, ipiv,
diff --git a/LAPACKE/src/lapacke_dsytri_3.c b/LAPACKE/src/lapacke_dsytri_3.c
index b0960dad..fd41f7ba 100644
--- a/LAPACKE/src/lapacke_dsytri_3.c
+++ b/LAPACKE/src/lapacke_dsytri_3.c
@@ -40,6 +40,7 @@ lapack_int LAPACKE_dsytri_3( int matrix_layout, char uplo, lapack_int n, double*
lapack_int lwork = -1;
double* work = NULL;
double work_query;
+ lapack_int e_start = LAPACKE_lsame( uplo, 'U' ) ? 1 : 0;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_dsytri_3", -1 );
return -1;
@@ -49,7 +50,7 @@ lapack_int LAPACKE_dsytri_3( int matrix_layout, char uplo, lapack_int n, double*
if( LAPACKE_dsy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_d_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_d_nancheck( n-1, e + e_start, 1 ) ) {
return -6;
}
#endif
diff --git a/LAPACKE/src/lapacke_sbdsdc.c b/LAPACKE/src/lapacke_sbdsdc.c
index 43176804..ee1db7a4 100644
--- a/LAPACKE/src/lapacke_sbdsdc.c
+++ b/LAPACKE/src/lapacke_sbdsdc.c
@@ -52,7 +52,7 @@ lapack_int LAPACKE_sbdsdc( int matrix_layout, char uplo, char compq,
if( LAPACKE_s_nancheck( n, d, 1 ) ) {
return -5;
}
- if( LAPACKE_s_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_s_nancheck( n-1, e, 1 ) ) {
return -6;
}
#endif
diff --git a/LAPACKE/src/lapacke_sstegr.c b/LAPACKE/src/lapacke_sstegr.c
index a3c5d4d0..1694273d 100644
--- a/LAPACKE/src/lapacke_sstegr.c
+++ b/LAPACKE/src/lapacke_sstegr.c
@@ -58,7 +58,7 @@ lapack_int LAPACKE_sstegr( int matrix_layout, char jobz, char range,
if( LAPACKE_s_nancheck( n, d, 1 ) ) {
return -5;
}
- if( LAPACKE_s_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_s_nancheck( n-1, e, 1 ) ) {
return -6;
}
if( LAPACKE_lsame( range, 'v' ) ) {
diff --git a/LAPACKE/src/lapacke_sstein.c b/LAPACKE/src/lapacke_sstein.c
index ccad56f4..fa8b3845 100644
--- a/LAPACKE/src/lapacke_sstein.c
+++ b/LAPACKE/src/lapacke_sstein.c
@@ -50,7 +50,7 @@ lapack_int LAPACKE_sstein( int matrix_layout, lapack_int n, const float* d,
if( LAPACKE_s_nancheck( n, d, 1 ) ) {
return -3;
}
- if( LAPACKE_s_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_s_nancheck( n-1, e, 1 ) ) {
return -4;
}
if( LAPACKE_s_nancheck( n, w, 1 ) ) {
diff --git a/LAPACKE/src/lapacke_sstev.c b/LAPACKE/src/lapacke_sstev.c
index 97da7310..1006aee0 100644
--- a/LAPACKE/src/lapacke_sstev.c
+++ b/LAPACKE/src/lapacke_sstev.c
@@ -47,7 +47,7 @@ lapack_int LAPACKE_sstev( int matrix_layout, char jobz, lapack_int n, float* d,
if( LAPACKE_s_nancheck( n, d, 1 ) ) {
return -4;
}
- if( LAPACKE_s_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_s_nancheck( n-1, e, 1 ) ) {
return -5;
}
#endif
diff --git a/LAPACKE/src/lapacke_sstevd.c b/LAPACKE/src/lapacke_sstevd.c
index b2bf5bb3..ae0b6798 100644
--- a/LAPACKE/src/lapacke_sstevd.c
+++ b/LAPACKE/src/lapacke_sstevd.c
@@ -52,7 +52,7 @@ lapack_int LAPACKE_sstevd( int matrix_layout, char jobz, lapack_int n, float* d,
if( LAPACKE_s_nancheck( n, d, 1 ) ) {
return -4;
}
- if( LAPACKE_s_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_s_nancheck( n-1, e, 1 ) ) {
return -5;
}
#endif
diff --git a/LAPACKE/src/lapacke_sstevx.c b/LAPACKE/src/lapacke_sstevx.c
index 1dd833d2..b71ee9ad 100644
--- a/LAPACKE/src/lapacke_sstevx.c
+++ b/LAPACKE/src/lapacke_sstevx.c
@@ -54,7 +54,7 @@ lapack_int LAPACKE_sstevx( int matrix_layout, char jobz, char range,
if( LAPACKE_s_nancheck( n, d, 1 ) ) {
return -5;
}
- if( LAPACKE_s_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_s_nancheck( n-1, e, 1 ) ) {
return -6;
}
if( LAPACKE_lsame( range, 'v' ) ) {
diff --git a/LAPACKE/src/lapacke_ssycon_3.c b/LAPACKE/src/lapacke_ssycon_3.c
index ece1482e..bf759235 100644
--- a/LAPACKE/src/lapacke_ssycon_3.c
+++ b/LAPACKE/src/lapacke_ssycon_3.c
@@ -40,6 +40,7 @@ lapack_int LAPACKE_ssycon_3( int matrix_layout, char uplo, lapack_int n,
lapack_int info = 0;
lapack_int* iwork = NULL;
float* work = NULL;
+ lapack_int e_start = LAPACKE_lsame( uplo, 'U' ) ? 1 : 0;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_ssycon_3", -1 );
return -1;
@@ -49,7 +50,7 @@ lapack_int LAPACKE_ssycon_3( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_ssy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_s_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_s_nancheck( n-1, e + e_start, 1 ) ) {
return -6;
}
if( LAPACKE_s_nancheck( 1, &anorm, 1 ) ) {
diff --git a/LAPACKE/src/lapacke_ssysv_rk.c b/LAPACKE/src/lapacke_ssysv_rk.c
index b3520284..ad5fbf49 100644
--- a/LAPACKE/src/lapacke_ssysv_rk.c
+++ b/LAPACKE/src/lapacke_ssysv_rk.c
@@ -50,9 +50,6 @@ lapack_int LAPACKE_ssysv_rk( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_ssy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -5;
}
- if( LAPACKE_s_nancheck( n, e, 1) ) {
- return -7;
- }
if( LAPACKE_sge_nancheck( matrix_layout, n, nrhs, b, ldb ) ) {
return -9;
}
diff --git a/LAPACKE/src/lapacke_ssytrf_rk.c b/LAPACKE/src/lapacke_ssytrf_rk.c
index 80663184..c1fd53ae 100644
--- a/LAPACKE/src/lapacke_ssytrf_rk.c
+++ b/LAPACKE/src/lapacke_ssytrf_rk.c
@@ -49,9 +49,6 @@ lapack_int LAPACKE_ssytrf_rk( int matrix_layout, char uplo, lapack_int n, float*
if( LAPACKE_ssy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_s_nancheck( n, e, 1 ) ) {
- return -6;
- }
#endif
/* Query optimal working array(s) size */
info = LAPACKE_ssytrf_rk_work( matrix_layout, uplo, n, a, lda, e, ipiv,
diff --git a/LAPACKE/src/lapacke_ssytri_3.c b/LAPACKE/src/lapacke_ssytri_3.c
index b97ca498..bfbe4eb0 100644
--- a/LAPACKE/src/lapacke_ssytri_3.c
+++ b/LAPACKE/src/lapacke_ssytri_3.c
@@ -40,6 +40,7 @@ lapack_int LAPACKE_ssytri_3( int matrix_layout, char uplo, lapack_int n, float*
lapack_int lwork = -1;
float* work = NULL;
float work_query;
+ lapack_int e_start = LAPACKE_lsame( uplo, 'U' ) ? 1 : 0;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_ssytri_3", -1 );
return -1;
@@ -49,7 +50,7 @@ lapack_int LAPACKE_ssytri_3( int matrix_layout, char uplo, lapack_int n, float*
if( LAPACKE_ssy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_s_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_s_nancheck( n-1, e + e_start, 1 ) ) {
return -6;
}
#endif
diff --git a/LAPACKE/src/lapacke_zhecon_3.c b/LAPACKE/src/lapacke_zhecon_3.c
index a08bc8c0..5010fb3c 100644
--- a/LAPACKE/src/lapacke_zhecon_3.c
+++ b/LAPACKE/src/lapacke_zhecon_3.c
@@ -40,6 +40,7 @@ lapack_int LAPACKE_zhecon_3( int matrix_layout, char uplo, lapack_int n,
{
lapack_int info = 0;
lapack_complex_double* work = NULL;
+ lapack_int e_start = LAPACKE_lsame( uplo, 'U' ) ? 1 : 0;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_zhecon_3", -1 );
return -1;
@@ -49,7 +50,7 @@ lapack_int LAPACKE_zhecon_3( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_zhe_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_z_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_z_nancheck( n-1, e + e_start, 1 ) ) {
return -6;
}
if( LAPACKE_d_nancheck( 1, &anorm, 1 ) ) {
diff --git a/LAPACKE/src/lapacke_zhesv_rk.c b/LAPACKE/src/lapacke_zhesv_rk.c
index 777a7b9f..62a57474 100644
--- a/LAPACKE/src/lapacke_zhesv_rk.c
+++ b/LAPACKE/src/lapacke_zhesv_rk.c
@@ -51,9 +51,6 @@ lapack_int LAPACKE_zhesv_rk( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_zhe_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -5;
}
- if( LAPACKE_z_nancheck( n, e, 1) ) {
- return -7;
- }
if( LAPACKE_zge_nancheck( matrix_layout, n, nrhs, b, ldb ) ) {
return -9;
}
diff --git a/LAPACKE/src/lapacke_zhetrf_rk.c b/LAPACKE/src/lapacke_zhetrf_rk.c
index 19dc423d..1cf2fca5 100644
--- a/LAPACKE/src/lapacke_zhetrf_rk.c
+++ b/LAPACKE/src/lapacke_zhetrf_rk.c
@@ -50,9 +50,6 @@ lapack_int LAPACKE_zhetrf_rk( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_zhe_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_z_nancheck( n, e, 1 ) ) {
- return -6;
- }
#endif
/* Query optimal working array(s) size */
info = LAPACKE_zhetrf_rk_work( matrix_layout, uplo, n, a, lda, e, ipiv,
diff --git a/LAPACKE/src/lapacke_zhetri_3.c b/LAPACKE/src/lapacke_zhetri_3.c
index 33790c2f..6cf760f2 100644
--- a/LAPACKE/src/lapacke_zhetri_3.c
+++ b/LAPACKE/src/lapacke_zhetri_3.c
@@ -41,6 +41,7 @@ lapack_int LAPACKE_zhetri_3( int matrix_layout, char uplo, lapack_int n,
lapack_int lwork = -1;
lapack_complex_double* work = NULL;
lapack_complex_double work_query;
+ lapack_int e_start = LAPACKE_lsame( uplo, 'U' ) ? 1 : 0;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_zhetri_3", -1 );
return -1;
@@ -50,7 +51,7 @@ lapack_int LAPACKE_zhetri_3( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_zhe_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_z_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_z_nancheck( n-1, e + e_start, 1 ) ) {
return -6;
}
#endif
diff --git a/LAPACKE/src/lapacke_zstegr.c b/LAPACKE/src/lapacke_zstegr.c
index 189e6be5..6de83835 100644
--- a/LAPACKE/src/lapacke_zstegr.c
+++ b/LAPACKE/src/lapacke_zstegr.c
@@ -59,7 +59,7 @@ lapack_int LAPACKE_zstegr( int matrix_layout, char jobz, char range,
if( LAPACKE_d_nancheck( n, d, 1 ) ) {
return -5;
}
- if( LAPACKE_d_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_d_nancheck( n-1, e, 1 ) ) {
return -6;
}
if( LAPACKE_lsame( range, 'v' ) ) {
diff --git a/LAPACKE/src/lapacke_zstein.c b/LAPACKE/src/lapacke_zstein.c
index 1d1b2ef5..70b99887 100644
--- a/LAPACKE/src/lapacke_zstein.c
+++ b/LAPACKE/src/lapacke_zstein.c
@@ -51,7 +51,7 @@ lapack_int LAPACKE_zstein( int matrix_layout, lapack_int n, const double* d,
if( LAPACKE_d_nancheck( n, d, 1 ) ) {
return -3;
}
- if( LAPACKE_d_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_d_nancheck( n-1, e, 1 ) ) {
return -4;
}
if( LAPACKE_d_nancheck( n, w, 1 ) ) {
diff --git a/LAPACKE/src/lapacke_zsycon_3.c b/LAPACKE/src/lapacke_zsycon_3.c
index 03900b66..993523ba 100644
--- a/LAPACKE/src/lapacke_zsycon_3.c
+++ b/LAPACKE/src/lapacke_zsycon_3.c
@@ -40,6 +40,7 @@ lapack_int LAPACKE_zsycon_3( int matrix_layout, char uplo, lapack_int n,
{
lapack_int info = 0;
lapack_complex_double* work = NULL;
+ lapack_int e_start = LAPACKE_lsame( uplo, 'U' ) ? 1 : 0;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_zsycon_3", -1 );
return -1;
@@ -49,7 +50,7 @@ lapack_int LAPACKE_zsycon_3( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_zsy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_z_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_z_nancheck( n-1, e + e_start, 1 ) ) {
return -6;
}
if( LAPACKE_d_nancheck( 1, &anorm, 1 ) ) {
diff --git a/LAPACKE/src/lapacke_zsysv_rk.c b/LAPACKE/src/lapacke_zsysv_rk.c
index a3385119..96bc40a3 100644
--- a/LAPACKE/src/lapacke_zsysv_rk.c
+++ b/LAPACKE/src/lapacke_zsysv_rk.c
@@ -51,9 +51,6 @@ lapack_int LAPACKE_zsysv_rk( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_zsy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -5;
}
- if( LAPACKE_z_nancheck( n, e, 1) ) {
- return -7;
- }
if( LAPACKE_zge_nancheck( matrix_layout, n, nrhs, b, ldb ) ) {
return -9;
}
diff --git a/LAPACKE/src/lapacke_zsytrf_rk.c b/LAPACKE/src/lapacke_zsytrf_rk.c
index c4ead32d..4119ba7a 100644
--- a/LAPACKE/src/lapacke_zsytrf_rk.c
+++ b/LAPACKE/src/lapacke_zsytrf_rk.c
@@ -50,9 +50,6 @@ lapack_int LAPACKE_zsytrf_rk( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_zsy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_z_nancheck( n, e, 1 ) ) {
- return -6;
- }
#endif
/* Query optimal working array(s) size */
info = LAPACKE_zsytrf_rk_work( matrix_layout, uplo, n, a, lda, e, ipiv,
diff --git a/LAPACKE/src/lapacke_zsytri_3.c b/LAPACKE/src/lapacke_zsytri_3.c
index 0902c57f..78ff46ad 100644
--- a/LAPACKE/src/lapacke_zsytri_3.c
+++ b/LAPACKE/src/lapacke_zsytri_3.c
@@ -41,6 +41,7 @@ lapack_int LAPACKE_zsytri_3( int matrix_layout, char uplo, lapack_int n,
lapack_int lwork = -1;
lapack_complex_double* work = NULL;
lapack_complex_double work_query;
+ lapack_int e_start = LAPACKE_lsame( uplo, 'U' ) ? 1 : 0;
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
LAPACKE_xerbla( "LAPACKE_zsytri_3", -1 );
return -1;
@@ -50,7 +51,7 @@ lapack_int LAPACKE_zsytri_3( int matrix_layout, char uplo, lapack_int n,
if( LAPACKE_zsy_nancheck( matrix_layout, uplo, n, a, lda ) ) {
return -4;
}
- if( LAPACKE_z_nancheck( n, e, 1 ) ) {
+ if( LAPACKE_z_nancheck( n-1, e + e_start, 1 ) ) {
return -6;
}
#endif