lapacke_*stemr_work: fixed condition to check ldz: jobz must be checked
authoreugene.chereshnev <eugenechereshnev@gmail.com>
Wed, 1 Feb 2017 02:46:44 +0000 (18:46 -0800)
committereugene.chereshnev <eugenechereshnev@gmail.com>
Sat, 4 Feb 2017 02:47:03 +0000 (18:47 -0800)
LAPACKE/src/lapacke_cstemr_work.c
LAPACKE/src/lapacke_dstemr_work.c
LAPACKE/src/lapacke_sstemr_work.c
LAPACKE/src/lapacke_zstemr_work.c

index b48f7f9..592b4e3 100644 (file)
@@ -56,7 +56,7 @@ lapack_int LAPACKE_cstemr_work( int matrix_layout, char jobz, char range,
         lapack_int ldz_t = MAX(1,n);
         lapack_complex_float* z_t = NULL;
         /* Check leading dimension(s) */
-        if( ldz < n ) {
+        if( ldz < 1 || ( LAPACKE_lsame( jobz, 'v' ) && ldz < n ) ) {
             info = -14;
             LAPACKE_xerbla( "LAPACKE_cstemr_work", info );
             return info;
index 947e883..3434472 100644 (file)
@@ -55,7 +55,7 @@ lapack_int LAPACKE_dstemr_work( int matrix_layout, char jobz, char range,
         lapack_int ldz_t = MAX(1,n);
         double* z_t = NULL;
         /* Check leading dimension(s) */
-        if( ldz < n ) {
+        if( ldz < 1 || ( LAPACKE_lsame( jobz, 'v' ) && ldz < n ) ) {
             info = -14;
             LAPACKE_xerbla( "LAPACKE_dstemr_work", info );
             return info;
index 834014e..5071a52 100644 (file)
@@ -55,7 +55,7 @@ lapack_int LAPACKE_sstemr_work( int matrix_layout, char jobz, char range,
         lapack_int ldz_t = MAX(1,n);
         float* z_t = NULL;
         /* Check leading dimension(s) */
-        if( ldz < n ) {
+        if( ldz < 1 || ( LAPACKE_lsame( jobz, 'v' ) && ldz < n ) ) {
             info = -14;
             LAPACKE_xerbla( "LAPACKE_sstemr_work", info );
             return info;
index 5b7231d..65b4d2f 100644 (file)
@@ -56,7 +56,7 @@ lapack_int LAPACKE_zstemr_work( int matrix_layout, char jobz, char range,
         lapack_int ldz_t = MAX(1,n);
         lapack_complex_double* z_t = NULL;
         /* Check leading dimension(s) */
-        if( ldz < n ) {
+        if( ldz < 1 || ( LAPACKE_lsame( jobz, 'v' ) && ldz < n ) ) {
             info = -14;
             LAPACKE_xerbla( "LAPACKE_zstemr_work", info );
             return info;