Skip to content

Commit

Permalink
Fixes from MKL 3.8 merge
Browse files Browse the repository at this point in the history
  • Loading branch information
Kirana Bergstrom committed May 31, 2018
1 parent d17f3b2 commit c9cbf17
Show file tree
Hide file tree
Showing 48 changed files with 135 additions and 111 deletions.
6 changes: 3 additions & 3 deletions LAPACKE/src/lapacke_chetrf_aa_work.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ lapack_int LAPACKE_chetrf_aa_work( int matrix_layout, char uplo, lapack_int n,
lapack_int info = 0;
if( matrix_layout == LAPACK_COL_MAJOR ) {
/* Call LAPACK function and adjust info */
LAPACK_chetrf( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
LAPACK_chetrf_aa( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
if( info < 0 ) {
info = info - 1;
}
Expand All @@ -56,7 +56,7 @@ lapack_int LAPACKE_chetrf_aa_work( int matrix_layout, char uplo, lapack_int n,
}
/* Query optimal working array(s) size if requested */
if( lwork == -1 ) {
LAPACK_chetrf( &uplo, &n, a, &lda_t, ipiv, work, &lwork, &info );
LAPACK_chetrf_aa( &uplo, &n, a, &lda_t, ipiv, work, &lwork, &info );
return (info < 0) ? (info - 1) : info;
}
/* Allocate memory for temporary array(s) */
Expand All @@ -69,7 +69,7 @@ lapack_int LAPACKE_chetrf_aa_work( int matrix_layout, char uplo, lapack_int n,
/* Transpose input matrices */
LAPACKE_che_trans( matrix_layout, uplo, n, a, lda, a_t, lda_t );
/* Call LAPACK function and adjust info */
LAPACK_chetrf( &uplo, &n, a_t, &lda_t, ipiv, work, &lwork, &info );
LAPACK_chetrf_aa( &uplo, &n, a_t, &lda_t, ipiv, work, &lwork, &info );
if( info < 0 ) {
info = info - 1;
}
Expand Down
6 changes: 3 additions & 3 deletions LAPACKE/src/lapacke_csytrf_aa_work.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ lapack_int LAPACKE_csytrf_aa_work( int matrix_layout, char uplo, lapack_int n,
lapack_int info = 0;
if( matrix_layout == LAPACK_COL_MAJOR ) {
/* Call LAPACK function and adjust info */
LAPACK_csytrf( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
LAPACK_csytrf_aa( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
if( info < 0 ) {
info = info - 1;
}
Expand All @@ -56,7 +56,7 @@ lapack_int LAPACKE_csytrf_aa_work( int matrix_layout, char uplo, lapack_int n,
}
/* Query optimal working array(s) size if requested */
if( lwork == -1 ) {
LAPACK_csytrf( &uplo, &n, a, &lda_t, ipiv, work, &lwork, &info );
LAPACK_csytrf_aa( &uplo, &n, a, &lda_t, ipiv, work, &lwork, &info );
return (info < 0) ? (info - 1) : info;
}
/* Allocate memory for temporary array(s) */
Expand All @@ -69,7 +69,7 @@ lapack_int LAPACKE_csytrf_aa_work( int matrix_layout, char uplo, lapack_int n,
/* Transpose input matrices */
LAPACKE_csy_trans( matrix_layout, uplo, n, a, lda, a_t, lda_t );
/* Call LAPACK function and adjust info */
LAPACK_csytrf( &uplo, &n, a_t, &lda_t, ipiv, work, &lwork, &info );
LAPACK_csytrf_aa( &uplo, &n, a_t, &lda_t, ipiv, work, &lwork, &info );
if( info < 0 ) {
info = info - 1;
}
Expand Down
6 changes: 3 additions & 3 deletions LAPACKE/src/lapacke_dsytrf_aa_work.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ lapack_int LAPACKE_dsytrf_aa_work( int matrix_layout, char uplo, lapack_int n,
lapack_int info = 0;
if( matrix_layout == LAPACK_COL_MAJOR ) {
/* Call LAPACK function and adjust info */
LAPACK_dsytrf( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
LAPACK_dsytrf_aa( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
if( info < 0 ) {
info = info - 1;
}
Expand All @@ -55,7 +55,7 @@ lapack_int LAPACKE_dsytrf_aa_work( int matrix_layout, char uplo, lapack_int n,
}
/* Query optimal working array(s) size if requested */
if( lwork == -1 ) {
LAPACK_dsytrf( &uplo, &n, a, &lda_t, ipiv, work, &lwork, &info );
LAPACK_dsytrf_aa( &uplo, &n, a, &lda_t, ipiv, work, &lwork, &info );
return (info < 0) ? (info - 1) : info;
}
/* Allocate memory for temporary array(s) */
Expand All @@ -67,7 +67,7 @@ lapack_int LAPACKE_dsytrf_aa_work( int matrix_layout, char uplo, lapack_int n,
/* Transpose input matrices */
LAPACKE_dsy_trans( matrix_layout, uplo, n, a, lda, a_t, lda_t );
/* Call LAPACK function and adjust info */
LAPACK_dsytrf( &uplo, &n, a_t, &lda_t, ipiv, work, &lwork, &info );
LAPACK_dsytrf_aa( &uplo, &n, a_t, &lda_t, ipiv, work, &lwork, &info );
if( info < 0 ) {
info = info - 1;
}
Expand Down
6 changes: 3 additions & 3 deletions LAPACKE/src/lapacke_ssytrf_aa_work.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ lapack_int LAPACKE_ssytrf_aa_work( int matrix_layout, char uplo, lapack_int n,
lapack_int info = 0;
if( matrix_layout == LAPACK_COL_MAJOR ) {
/* Call LAPACK function and adjust info */
LAPACK_ssytrf( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
LAPACK_ssytrf_aa( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
if( info < 0 ) {
info = info - 1;
}
Expand All @@ -55,7 +55,7 @@ lapack_int LAPACKE_ssytrf_aa_work( int matrix_layout, char uplo, lapack_int n,
}
/* Query optimal working array(s) size if requested */
if( lwork == -1 ) {
LAPACK_ssytrf( &uplo, &n, a, &lda_t, ipiv, work, &lwork, &info );
LAPACK_ssytrf_aa( &uplo, &n, a, &lda_t, ipiv, work, &lwork, &info );
return (info < 0) ? (info - 1) : info;
}
/* Allocate memory for temporary array(s) */
Expand All @@ -67,7 +67,7 @@ lapack_int LAPACKE_ssytrf_aa_work( int matrix_layout, char uplo, lapack_int n,
/* Transpose input matrices */
LAPACKE_ssy_trans( matrix_layout, uplo, n, a, lda, a_t, lda_t );
/* Call LAPACK function and adjust info */
LAPACK_ssytrf( &uplo, &n, a_t, &lda_t, ipiv, work, &lwork, &info );
LAPACK_ssytrf_aa( &uplo, &n, a_t, &lda_t, ipiv, work, &lwork, &info );
if( info < 0 ) {
info = info - 1;
}
Expand Down
6 changes: 3 additions & 3 deletions LAPACKE/src/lapacke_zhetrf_aa_work.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ lapack_int LAPACKE_zhetrf_aa_work( int matrix_layout, char uplo, lapack_int n,
lapack_int info = 0;
if( matrix_layout == LAPACK_COL_MAJOR ) {
/* Call LAPACK function and adjust info */
LAPACK_zhetrf( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
LAPACK_zhetrf_aa( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
if( info < 0 ) {
info = info - 1;
}
Expand All @@ -56,7 +56,7 @@ lapack_int LAPACKE_zhetrf_aa_work( int matrix_layout, char uplo, lapack_int n,
}
/* Query optimal working array(s) size if requested */
if( lwork == -1 ) {
LAPACK_zhetrf( &uplo, &n, a, &lda_t, ipiv, work, &lwork, &info );
LAPACK_zhetrf_aa( &uplo, &n, a, &lda_t, ipiv, work, &lwork, &info );
return (info < 0) ? (info - 1) : info;
}
/* Allocate memory for temporary array(s) */
Expand All @@ -69,7 +69,7 @@ lapack_int LAPACKE_zhetrf_aa_work( int matrix_layout, char uplo, lapack_int n,
/* Transpose input matrices */
LAPACKE_zhe_trans( matrix_layout, uplo, n, a, lda, a_t, lda_t );
/* Call LAPACK function and adjust info */
LAPACK_zhetrf( &uplo, &n, a_t, &lda_t, ipiv, work, &lwork, &info );
LAPACK_zhetrf_aa( &uplo, &n, a_t, &lda_t, ipiv, work, &lwork, &info );
if( info < 0 ) {
info = info - 1;
}
Expand Down
6 changes: 3 additions & 3 deletions LAPACKE/src/lapacke_zsytrf_aa_work.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ lapack_int LAPACKE_zsytrf_aa_work( int matrix_layout, char uplo, lapack_int n,
lapack_int info = 0;
if( matrix_layout == LAPACK_COL_MAJOR ) {
/* Call LAPACK function and adjust info */
LAPACK_zsytrf( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
LAPACK_zsytrf_aa( &uplo, &n, a, &lda, ipiv, work, &lwork, &info );
if( info < 0 ) {
info = info - 1;
}
Expand All @@ -56,7 +56,7 @@ lapack_int LAPACKE_zsytrf_aa_work( int matrix_layout, char uplo, lapack_int n,
}
/* Query optimal working array(s) size if requested */
if( lwork == -1 ) {
LAPACK_zsytrf( &uplo, &n, a, &lda_t, ipiv, work, &lwork, &info );
LAPACK_zsytrf_aa( &uplo, &n, a, &lda_t, ipiv, work, &lwork, &info );
return (info < 0) ? (info - 1) : info;
}
/* Allocate memory for temporary array(s) */
Expand All @@ -69,7 +69,7 @@ lapack_int LAPACKE_zsytrf_aa_work( int matrix_layout, char uplo, lapack_int n,
/* Transpose input matrices */
LAPACKE_zsy_trans( matrix_layout, uplo, n, a, lda, a_t, lda_t );
/* Call LAPACK function and adjust info */
LAPACK_zsytrf( &uplo, &n, a_t, &lda_t, ipiv, work, &lwork, &info );
LAPACK_zsytrf_aa( &uplo, &n, a_t, &lda_t, ipiv, work, &lwork, &info );
if( info < 0 ) {
info = info - 1;
}
Expand Down
4 changes: 2 additions & 2 deletions SRC/cgejsv.f
Original file line number Diff line number Diff line change
Expand Up @@ -701,7 +701,7 @@ SUBROUTINE CGEJSV( JOBA, JOBU, JOBV, JOBR, JOBT, JOBP,
LWSVDJ = MAX( 2 * N, 1 )
LWSVDJV = MAX( 2 * N, 1 )
* .. minimal REAL workspace length for CGEQP3, CPOCON, CGESVJ
LRWQP3 = N
LRWQP3 = 2 * N
LRWCON = N
LRWSVDJ = N
IF ( LQUERY ) THEN
Expand Down Expand Up @@ -939,7 +939,7 @@ SUBROUTINE CGEJSV( JOBA, JOBU, JOBV, JOBR, JOBT, JOBP,
END IF
END IF
MINWRK = MAX( 2, MINWRK )
OPTWRK = MAX( 2, OPTWRK )
OPTWRK = MAX( OPTWRK, MINWRK )
IF ( LWORK .LT. MINWRK .AND. (.NOT.LQUERY) ) INFO = - 17
IF ( LRWORK .LT. MINRWRK .AND. (.NOT.LQUERY) ) INFO = - 19
END IF
Expand Down
5 changes: 2 additions & 3 deletions SRC/chesv_aa.f
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,8 @@ SUBROUTINE CHESV_AA( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
INFO = -5
ELSE IF( LDB.LT.MAX( 1, N ) ) THEN
INFO = -8
ELSE IF( LWORK.LT.MAX( 2*N, 3*N-2 ) .AND. .NOT.LQUERY ) THEN
INFO = -10
END IF
*
IF( INFO.EQ.0 ) THEN
Expand All @@ -219,9 +221,6 @@ SUBROUTINE CHESV_AA( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
LWKOPT_HETRS = INT( WORK(1) )
LWKOPT = MAX( LWKOPT_HETRF, LWKOPT_HETRS )
WORK( 1 ) = LWKOPT
IF( LWORK.LT.LWKOPT .AND. .NOT.LQUERY ) THEN
INFO = -10
END IF
END IF
*
IF( INFO.NE.0 ) THEN
Expand Down
11 changes: 6 additions & 5 deletions SRC/chesv_aa_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -237,17 +237,16 @@ SUBROUTINE CHESV_AA_2STAGE( UPLO, N, NRHS, A, LDA, TB, LTB,
INFO = -5
ELSE IF( LDB.LT.MAX( 1, N ) ) THEN
INFO = -11
ELSE IF( LTB.LT.( 4*N ) .AND. .NOT.TQUERY ) THEN
INFO = -7
ELSE IF( LWORK.LT.N .AND. .NOT.WQUERY ) THEN
INFO = -13
END IF
*
IF( INFO.EQ.0 ) THEN
CALL CHETRF_AA_2STAGE( UPLO, N, A, LDA, TB, -1, IPIV,
$ IPIV2, WORK, -1, INFO )
LWKOPT = INT( WORK(1) )
IF( LTB.LT.INT( TB(1) ) .AND. .NOT.TQUERY ) THEN
INFO = -7
ELSE IF( LWORK.LT.LWKOPT .AND. .NOT.WQUERY ) THEN
INFO = -13
END IF
END IF
*
IF( INFO.NE.0 ) THEN
Expand All @@ -272,6 +271,8 @@ SUBROUTINE CHESV_AA_2STAGE( UPLO, N, NRHS, A, LDA, TB, LTB,
END IF
*
WORK( 1 ) = LWKOPT
*
RETURN
*
* End of CHESV_AA_2STAGE
*
Expand Down
2 changes: 2 additions & 0 deletions SRC/chetrf_aa_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -660,6 +660,8 @@ SUBROUTINE CHETRF_AA_2STAGE( UPLO, N, A, LDA, TB, LTB, IPIV,
*
* Factor the band matrix
CALL CGBTRF( N, N, NB, NB, TB, LDTB, IPIV2, INFO )
*
RETURN
*
* End of CHETRF_AA_2STAGE
*
Expand Down
2 changes: 1 addition & 1 deletion SRC/cla_syamv.f
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ SUBROUTINE CLA_SYAMV( UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,
INFO = 10
END IF
IF( INFO.NE.0 )THEN
CALL XERBLA( 'SSYMV ', INFO )
CALL XERBLA( 'CLA_SYAMV', INFO )
RETURN
END IF
*
Expand Down
7 changes: 7 additions & 0 deletions SRC/claqr1.f
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,13 @@ SUBROUTINE CLAQR1( N, H, LDH, S1, S2, V )
CABS1( CDUM ) = ABS( REAL( CDUM ) ) + ABS( AIMAG( CDUM ) )
* ..
* .. Executable Statements ..
*
* Quick return if possible
*
IF( N.NE.2 .AND. N.NE.3 ) THEN
RETURN
END IF
*
IF( N.EQ.2 ) THEN
S = CABS1( H( 1, 1 )-S2 ) + CABS1( H( 2, 1 ) )
IF( S.EQ.RZERO ) THEN
Expand Down
3 changes: 0 additions & 3 deletions SRC/csysv_aa.f
Original file line number Diff line number Diff line change
Expand Up @@ -221,9 +221,6 @@ SUBROUTINE CSYSV_AA( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
LWKOPT_SYTRS = INT( WORK(1) )
LWKOPT = MAX( LWKOPT_SYTRF, LWKOPT_SYTRS )
WORK( 1 ) = LWKOPT
IF( LWORK.LT.LWKOPT .AND. .NOT.LQUERY ) THEN
INFO = -10
END IF
END IF
*
IF( INFO.NE.0 ) THEN
Expand Down
11 changes: 6 additions & 5 deletions SRC/csysv_aa_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -235,19 +235,18 @@ SUBROUTINE CSYSV_AA_2STAGE( UPLO, N, NRHS, A, LDA, TB, LTB,
INFO = -3
ELSE IF( LDA.LT.MAX( 1, N ) ) THEN
INFO = -5
ELSE IF( LTB.LT.( 4*N ) .AND. .NOT.TQUERY ) THEN
INFO = -7
ELSE IF( LDB.LT.MAX( 1, N ) ) THEN
INFO = -11
ELSE IF( LWORK.LT.N .AND. .NOT.WQUERY ) THEN
INFO = -13
END IF
*
IF( INFO.EQ.0 ) THEN
CALL CSYTRF_AA_2STAGE( UPLO, N, A, LDA, TB, -1, IPIV,
$ IPIV2, WORK, -1, INFO )
LWKOPT = INT( WORK(1) )
IF( LTB.LT.INT( TB(1) ) .AND. .NOT.TQUERY ) THEN
INFO = -7
ELSE IF( LWORK.LT.LWKOPT .AND. .NOT.WQUERY ) THEN
INFO = -13
END IF
END IF
*
IF( INFO.NE.0 ) THEN
Expand All @@ -272,6 +271,8 @@ SUBROUTINE CSYSV_AA_2STAGE( UPLO, N, NRHS, A, LDA, TB, LTB,
END IF
*
WORK( 1 ) = LWKOPT
*
RETURN
*
* End of CSYSV_AA_2STAGE
*
Expand Down
2 changes: 2 additions & 0 deletions SRC/csytrf_aa_2stage.f
Original file line number Diff line number Diff line change
Expand Up @@ -664,6 +664,8 @@ SUBROUTINE CSYTRF_AA_2STAGE( UPLO, N, A, LDA, TB, LTB, IPIV,
*
* Factor the band matrix
CALL CGBTRF( N, N, NB, NB, TB, LDTB, IPIV2, INFO )
*
RETURN
*
* End of CSYTRF_AA_2STAGE
*
Expand Down
6 changes: 3 additions & 3 deletions SRC/csytri2.f
Original file line number Diff line number Diff line change
Expand Up @@ -96,11 +96,11 @@
*> LWORK is INTEGER
*> The dimension of the array WORK.
*> WORK is size >= (N+NB+1)*(NB+3)
*> If LDWORK = -1, then a workspace query is assumed; the routine
*> If LWORK = -1, then a workspace query is assumed; the routine
*> calculates:
*> - the optimal size of the WORK array, returns
*> this value as the first entry of the WORK array,
*> - and no error message related to LDWORK is issued by XERBLA.
*> - and no error message related to LWORK is issued by XERBLA.
*> \endverbatim
*>
*> \param[out] INFO
Expand Down Expand Up @@ -163,7 +163,7 @@ SUBROUTINE CSYTRI2( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO )
UPPER = LSAME( UPLO, 'U' )
LQUERY = ( LWORK.EQ.-1 )
* Get blocksize
NBMAX = ILAENV( 1, 'CSYTRF', UPLO, N, -1, -1, -1 )
NBMAX = ILAENV( 1, 'CSYTRI2', UPLO, N, -1, -1, -1 )
IF ( NBMAX .GE. N ) THEN
MINSIZE = N
ELSE
Expand Down
18 changes: 9 additions & 9 deletions SRC/ctrevc3.f
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
* ..
* .. Array Arguments ..
* LOGICAL SELECT( * )
* REAL RWORK( * )
* COMPLEX T( LDT, * ), VL( LDVL, * ), VR( LDVR, * ),
* REAL RWORK( * )
* COMPLEX T( LDT, * ), VL( LDVL, * ), VR( LDVR, * ),
* $ WORK( * )
* ..
*
Expand Down Expand Up @@ -258,17 +258,17 @@ SUBROUTINE CTREVC3( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR,
* ..
* .. Array Arguments ..
LOGICAL SELECT( * )
REAL RWORK( * )
COMPLEX T( LDT, * ), VL( LDVL, * ), VR( LDVR, * ),
REAL RWORK( * )
COMPLEX T( LDT, * ), VL( LDVL, * ), VR( LDVR, * ),
$ WORK( * )
* ..
*
* =====================================================================
*
* .. Parameters ..
REAL ZERO, ONE
REAL ZERO, ONE
PARAMETER ( ZERO = 0.0E+0, ONE = 1.0E+0 )
COMPLEX CZERO, CONE
COMPLEX CZERO, CONE
PARAMETER ( CZERO = ( 0.0E+0, 0.0E+0 ),
$ CONE = ( 1.0E+0, 0.0E+0 ) )
INTEGER NBMIN, NBMAX
Expand All @@ -277,13 +277,13 @@ SUBROUTINE CTREVC3( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR,
* .. Local Scalars ..
LOGICAL ALLV, BOTHV, LEFTV, LQUERY, OVER, RIGHTV, SOMEV
INTEGER I, II, IS, J, K, KI, IV, MAXWRK, NB
REAL OVFL, REMAX, SCALE, SMIN, SMLNUM, ULP, UNFL
COMPLEX CDUM
REAL OVFL, REMAX, SCALE, SMIN, SMLNUM, ULP, UNFL
COMPLEX CDUM
* ..
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV, ICAMAX
REAL SLAMCH, SCASUM
REAL SLAMCH, SCASUM
EXTERNAL LSAME, ILAENV, ICAMAX, SLAMCH, SCASUM
* ..
* .. External Subroutines ..
Expand Down
2 changes: 1 addition & 1 deletion SRC/dgelqt.f
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ SUBROUTINE DGELQT( M, N, MB, A, LDA, T, LDT, WORK, INFO )
INTEGER I, IB, IINFO, K
* ..
* .. External Subroutines ..
EXTERNAL DGEQRT2, DGELQT3, DGEQRT3, DLARFB, XERBLA
EXTERNAL DGELQT3, DLARFB, XERBLA
* ..
* .. Executable Statements ..
*
Expand Down
Loading

0 comments on commit c9cbf17

Please sign in to comment.