lapacke_*(sy|he)(evr|evx)_work: fix expression for # of columns in z
authoreugene.chereshnev <eugenechereshnev@gmail.com>
Wed, 1 Feb 2017 02:44:47 +0000 (18:44 -0800)
committereugene.chereshnev <eugenechereshnev@gmail.com>
Sat, 4 Feb 2017 02:47:02 +0000 (18:47 -0800)
LAPACKE/src/lapacke_cheevr_work.c
LAPACKE/src/lapacke_cheevx_work.c
LAPACKE/src/lapacke_dsyevr_work.c
LAPACKE/src/lapacke_dsyevx_work.c
LAPACKE/src/lapacke_ssyevr_work.c
LAPACKE/src/lapacke_ssyevx_work.c
LAPACKE/src/lapacke_zheevr_work.c
LAPACKE/src/lapacke_zheevx_work.c

index a8628d3..9eec03d 100644 (file)
@@ -54,8 +54,9 @@ lapack_int LAPACKE_cheevr_work( int matrix_layout, char jobz, char range,
             info = info - 1;
         }
     } else if( matrix_layout == LAPACK_ROW_MAJOR ) {
-        lapack_int ncols_z = ( LAPACKE_lsame( range, 'a' ) ||
-                             LAPACKE_lsame( range, 'v' ) ) ? n :
+        lapack_int ncols_z = ( !LAPACKE_lsame( jobz, 'v' ) ) ? 1 :
+                             ( LAPACKE_lsame( range, 'a' ) ||
+                               LAPACKE_lsame( range, 'v' ) ) ? n :
                              ( LAPACKE_lsame( range, 'i' ) ? (iu-il+1) : 1);
         lapack_int lda_t = MAX(1,n);
         lapack_int ldz_t = MAX(1,n);
index 87fa020..4048dd2 100644 (file)
@@ -53,8 +53,9 @@ lapack_int LAPACKE_cheevx_work( int matrix_layout, char jobz, char range,
             info = info - 1;
         }
     } else if( matrix_layout == LAPACK_ROW_MAJOR ) {
-        lapack_int ncols_z = ( LAPACKE_lsame( range, 'a' ) ||
-                             LAPACKE_lsame( range, 'v' ) ) ? n :
+        lapack_int ncols_z = ( !LAPACKE_lsame( jobz, 'v' ) ) ? 1 :
+                             ( LAPACKE_lsame( range, 'a' ) ||
+                               LAPACKE_lsame( range, 'v' ) ) ? n :
                              ( LAPACKE_lsame( range, 'i' ) ? (iu-il+1) : 1);
         lapack_int lda_t = MAX(1,n);
         lapack_int ldz_t = MAX(1,n);
index 74cabe5..c0ef466 100644 (file)
@@ -52,8 +52,9 @@ lapack_int LAPACKE_dsyevr_work( int matrix_layout, char jobz, char range,
             info = info - 1;
         }
     } else if( matrix_layout == LAPACK_ROW_MAJOR ) {
-        lapack_int ncols_z = ( LAPACKE_lsame( range, 'a' ) ||
-                             LAPACKE_lsame( range, 'v' ) ) ? n :
+        lapack_int ncols_z = ( !LAPACKE_lsame( jobz, 'v' ) ) ? 1 :
+                             ( LAPACKE_lsame( range, 'a' ) ||
+                               LAPACKE_lsame( range, 'v' ) ) ? n :
                              ( LAPACKE_lsame( range, 'i' ) ? (iu-il+1) : 1);
         lapack_int lda_t = MAX(1,n);
         lapack_int ldz_t = MAX(1,n);
index 65f6848..38cdf30 100644 (file)
@@ -51,8 +51,9 @@ lapack_int LAPACKE_dsyevx_work( int matrix_layout, char jobz, char range,
             info = info - 1;
         }
     } else if( matrix_layout == LAPACK_ROW_MAJOR ) {
-        lapack_int ncols_z = ( LAPACKE_lsame( range, 'a' ) ||
-                             LAPACKE_lsame( range, 'v' ) ) ? n :
+        lapack_int ncols_z = ( !LAPACKE_lsame( jobz, 'v' ) ) ? 1 :
+                             ( LAPACKE_lsame( range, 'a' ) ||
+                               LAPACKE_lsame( range, 'v' ) ) ? n :
                              ( LAPACKE_lsame( range, 'i' ) ? (iu-il+1) : 1);
         lapack_int lda_t = MAX(1,n);
         lapack_int ldz_t = MAX(1,n);
index 3e874a9..c376ac7 100644 (file)
@@ -52,8 +52,9 @@ lapack_int LAPACKE_ssyevr_work( int matrix_layout, char jobz, char range,
             info = info - 1;
         }
     } else if( matrix_layout == LAPACK_ROW_MAJOR ) {
-        lapack_int ncols_z = ( LAPACKE_lsame( range, 'a' ) ||
-                             LAPACKE_lsame( range, 'v' ) ) ? n :
+        lapack_int ncols_z = ( !LAPACKE_lsame( jobz, 'v' ) ) ? 1 :
+                             ( LAPACKE_lsame( range, 'a' ) ||
+                               LAPACKE_lsame( range, 'v' ) ) ? n :
                              ( LAPACKE_lsame( range, 'i' ) ? (iu-il+1) : 1);
         lapack_int lda_t = MAX(1,n);
         lapack_int ldz_t = MAX(1,n);
index 9ffd925..d2796d4 100644 (file)
@@ -51,8 +51,9 @@ lapack_int LAPACKE_ssyevx_work( int matrix_layout, char jobz, char range,
             info = info - 1;
         }
     } else if( matrix_layout == LAPACK_ROW_MAJOR ) {
-        lapack_int ncols_z = ( LAPACKE_lsame( range, 'a' ) ||
-                             LAPACKE_lsame( range, 'v' ) ) ? n :
+        lapack_int ncols_z = ( !LAPACKE_lsame( jobz, 'v' ) ) ? 1 :
+                             ( LAPACKE_lsame( range, 'a' ) ||
+                               LAPACKE_lsame( range, 'v' ) ) ? n :
                              ( LAPACKE_lsame( range, 'i' ) ? (iu-il+1) : 1);
         lapack_int lda_t = MAX(1,n);
         lapack_int ldz_t = MAX(1,n);
index 2ccf9f9..7cc93ab 100644 (file)
@@ -54,8 +54,9 @@ lapack_int LAPACKE_zheevr_work( int matrix_layout, char jobz, char range,
             info = info - 1;
         }
     } else if( matrix_layout == LAPACK_ROW_MAJOR ) {
-        lapack_int ncols_z = ( LAPACKE_lsame( range, 'a' ) ||
-                             LAPACKE_lsame( range, 'v' ) ) ? n :
+        lapack_int ncols_z = ( !LAPACKE_lsame( jobz, 'v' ) ) ? 1 :
+                             ( LAPACKE_lsame( range, 'a' ) ||
+                               LAPACKE_lsame( range, 'v' ) ) ? n :
                              ( LAPACKE_lsame( range, 'i' ) ? (iu-il+1) : 1);
         lapack_int lda_t = MAX(1,n);
         lapack_int ldz_t = MAX(1,n);
index b7ac0ba..9193803 100644 (file)
@@ -53,8 +53,9 @@ lapack_int LAPACKE_zheevx_work( int matrix_layout, char jobz, char range,
             info = info - 1;
         }
     } else if( matrix_layout == LAPACK_ROW_MAJOR ) {
-        lapack_int ncols_z = ( LAPACKE_lsame( range, 'a' ) ||
-                             LAPACKE_lsame( range, 'v' ) ) ? n :
+        lapack_int ncols_z = ( !LAPACKE_lsame( jobz, 'v' ) ) ? 1 :
+                             ( LAPACKE_lsame( range, 'a' ) ||
+                               LAPACKE_lsame( range, 'v' ) ) ? n :
                              ( LAPACKE_lsame( range, 'i' ) ? (iu-il+1) : 1);
         lapack_int lda_t = MAX(1,n);
         lapack_int ldz_t = MAX(1,n);