Fix lapacke_*con_3 and lapacke_*tri_3: e stores (n-1) input elements and offset depen...
authorecheresh <eugenechereshnev@gmail.com>
Wed, 24 May 2017 08:32:56 +0000 (01:32 -0700)
committerecheresh <eugenechereshnev@gmail.com>
Wed, 24 May 2017 08:38:29 +0000 (01:38 -0700)
12 files changed:
LAPACKE/src/lapacke_checon_3.c
LAPACKE/src/lapacke_chetri_3.c
LAPACKE/src/lapacke_csycon_3.c
LAPACKE/src/lapacke_csytri_3.c
LAPACKE/src/lapacke_dsycon_3.c
LAPACKE/src/lapacke_dsytri_3.c
LAPACKE/src/lapacke_ssycon_3.c
LAPACKE/src/lapacke_ssytri_3.c
LAPACKE/src/lapacke_zhecon_3.c
LAPACKE/src/lapacke_zhetri_3.c
LAPACKE/src/lapacke_zsycon_3.c
LAPACKE/src/lapacke_zsytri_3.c

index d96cb98..069fd82 100644 (file)
@@ -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 ) ) {
index 8ce3ad3..a273983 100644 (file)
@@ -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
index 6425d61..4beff44 100644 (file)
@@ -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 ) ) {
index 543d408..378537b 100644 (file)
@@ -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
index 40503d1..063bee9 100644 (file)
@@ -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 ) ) {
index b0960da..fd41f7b 100644 (file)
@@ -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
index ece1482..bf75923 100644 (file)
@@ -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 ) ) {
index b97ca49..bfbe4eb 100644 (file)
@@ -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
index a08bc8c..5010fb3 100644 (file)
@@ -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 ) ) {
index 33790c2..6cf760f 100644 (file)
@@ -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
index 03900b6..993523b 100644 (file)
@@ -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 ) ) {
index 0902c57..78ff46a 100644 (file)
@@ -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