Skip to content

Commit 5cc35ab

Browse files
authored
Apply MKL team fixes to the LAPACKE interfaces (Reference-LAPACK PR 534)
Removed spurious checks for INFO in xLACPY,xLASET after routines not returning any,and redundant requirements for ldvt in xGESVD_WORK
1 parent 254774f commit 5cc35ab

File tree

75 files changed

+87
-103
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+87
-103
lines changed

lapack-netlib/LAPACKE/src/lapacke_cgesvd_work.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ lapack_int LAPACKE_cgesvd_work( int matrix_layout, char jobu, char jobvt,
5656
( LAPACKE_lsame( jobu, 's' ) ? MIN(m,n) : 1);
5757
lapack_int nrows_vt = LAPACKE_lsame( jobvt, 'a' ) ? n :
5858
( LAPACKE_lsame( jobvt, 's' ) ? MIN(m,n) : 1);
59+
lapack_int ncols_vt = ( LAPACKE_lsame( jobvt, 'a' ) ||
60+
LAPACKE_lsame( jobvt, 's' ) ) ? n : 1;
5961
lapack_int lda_t = MAX(1,m);
6062
lapack_int ldu_t = MAX(1,nrows_u);
6163
lapack_int ldvt_t = MAX(1,nrows_vt);
@@ -73,7 +75,7 @@ lapack_int LAPACKE_cgesvd_work( int matrix_layout, char jobu, char jobvt,
7375
LAPACKE_xerbla( "LAPACKE_cgesvd_work", info );
7476
return info;
7577
}
76-
if( ldvt < n ) {
78+
if( ldvt < ncols_vt ) {
7779
info = -12;
7880
LAPACKE_xerbla( "LAPACKE_cgesvd_work", info );
7981
return info;

lapack-netlib/LAPACKE/src/lapacke_cheev_work.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ lapack_int LAPACKE_cheev_work( int matrix_layout, char jobz, char uplo,
7878
info = info - 1;
7979
}
8080
/* Transpose output matrices */
81-
if ( jobz == 'V') {
81+
if ( jobz == 'V' || jobz == 'v' ) {
8282
LAPACKE_cge_trans( LAPACK_COL_MAJOR, n, n, a_t, lda_t, a, lda );
8383
} else {
8484
LAPACKE_che_trans( LAPACK_COL_MAJOR, uplo, n, a_t, lda_t, a, lda );

lapack-netlib/LAPACKE/src/lapacke_cheevd_2stage_work.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ lapack_int LAPACKE_cheevd_2stage_work( int matrix_layout, char jobz, char uplo,
7979
info = info - 1;
8080
}
8181
/* Transpose output matrices */
82-
if ( jobz == 'V') {
82+
if ( jobz == 'V' || jobz == 'v' ) {
8383
LAPACKE_cge_trans( LAPACK_COL_MAJOR, n, n, a_t, lda_t, a, lda );
8484
} else {
8585
LAPACKE_che_trans( LAPACK_COL_MAJOR, uplo, n, a_t, lda_t, a, lda );

lapack-netlib/LAPACKE/src/lapacke_cheevd_work.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ lapack_int LAPACKE_cheevd_work( int matrix_layout, char jobz, char uplo,
7979
info = info - 1;
8080
}
8181
/* Transpose output matrices */
82-
if ( jobz == 'V') {
82+
if ( jobz == 'V' || jobz == 'v' ) {
8383
LAPACKE_cge_trans( LAPACK_COL_MAJOR, n, n, a_t, lda_t, a, lda );
8484
} else {
8585
LAPACKE_che_trans( LAPACK_COL_MAJOR, uplo, n, a_t, lda_t, a, lda );

lapack-netlib/LAPACKE/src/lapacke_chegst.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
lapack_int LAPACKE_chegst( int matrix_layout, lapack_int itype, char uplo,
3737
lapack_int n, lapack_complex_float* a,
38-
lapack_int lda, lapack_complex_float* b,
38+
lapack_int lda, const lapack_complex_float* b,
3939
lapack_int ldb )
4040
{
4141
if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {

lapack-netlib/LAPACKE/src/lapacke_chegst_work.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
lapack_int LAPACKE_chegst_work( int matrix_layout, lapack_int itype, char uplo,
3737
lapack_int n, lapack_complex_float* a,
38-
lapack_int lda, lapack_complex_float* b,
38+
lapack_int lda, const lapack_complex_float* b,
3939
lapack_int ldb )
4040
{
4141
lapack_int info = 0;

lapack-netlib/LAPACKE/src/lapacke_chegv.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ lapack_int LAPACKE_chegv( int matrix_layout, lapack_int itype, char jobz,
5050
#ifndef LAPACK_DISABLE_NAN_CHECK
5151
if( LAPACKE_get_nancheck() ) {
5252
/* Optionally check input matrices for NaNs */
53-
if( LAPACKE_cge_nancheck( matrix_layout, n, n, a, lda ) ) {
53+
if( LAPACKE_che_nancheck( matrix_layout, uplo, n, a, lda ) ) {
5454
return -6;
5555
}
56-
if( LAPACKE_cge_nancheck( matrix_layout, n, n, b, ldb ) ) {
56+
if( LAPACKE_che_nancheck( matrix_layout, uplo, n, b, ldb ) ) {
5757
return -8;
5858
}
5959
}

lapack-netlib/LAPACKE/src/lapacke_chegv_2stage.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ lapack_int LAPACKE_chegv_2stage( int matrix_layout, lapack_int itype, char jobz,
5050
#ifndef LAPACK_DISABLE_NAN_CHECK
5151
if( LAPACKE_get_nancheck() ) {
5252
/* Optionally check input matrices for NaNs */
53-
if( LAPACKE_cge_nancheck( matrix_layout, n, n, a, lda ) ) {
53+
if( LAPACKE_che_nancheck( matrix_layout, uplo, n, a, lda ) ) {
5454
return -6;
5555
}
56-
if( LAPACKE_cge_nancheck( matrix_layout, n, n, b, ldb ) ) {
56+
if( LAPACKE_che_nancheck( matrix_layout, uplo, n, b, ldb ) ) {
5757
return -8;
5858
}
5959
}

lapack-netlib/LAPACKE/src/lapacke_chegvd.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ lapack_int LAPACKE_chegvd( int matrix_layout, lapack_int itype, char jobz,
5555
#ifndef LAPACK_DISABLE_NAN_CHECK
5656
if( LAPACKE_get_nancheck() ) {
5757
/* Optionally check input matrices for NaNs */
58-
if( LAPACKE_cge_nancheck( matrix_layout, n, n, a, lda ) ) {
58+
if( LAPACKE_che_nancheck( matrix_layout, uplo, n, a, lda ) ) {
5959
return -6;
6060
}
61-
if( LAPACKE_cge_nancheck( matrix_layout, n, n, b, ldb ) ) {
61+
if( LAPACKE_che_nancheck( matrix_layout, uplo, n, b, ldb ) ) {
6262
return -8;
6363
}
6464
}

lapack-netlib/LAPACKE/src/lapacke_chegvx.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ lapack_int LAPACKE_chegvx( int matrix_layout, lapack_int itype, char jobz,
6060
if( LAPACKE_s_nancheck( 1, &abstol, 1 ) ) {
6161
return -15;
6262
}
63-
if( LAPACKE_cge_nancheck( matrix_layout, n, n, b, ldb ) ) {
63+
if( LAPACKE_che_nancheck( matrix_layout, uplo, n, b, ldb ) ) {
6464
return -9;
6565
}
6666
if( LAPACKE_lsame( range, 'v' ) ) {

0 commit comments

Comments
 (0)