Apply ROUNDUP_LWORK (Reference-LAPACK PR 904)

This commit is contained in:
Martin Kroeker 2023-11-12 14:10:16 +01:00 committed by GitHub
parent c9378badd9
commit 71fbdd908d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
57 changed files with 282 additions and 228 deletions

View File

@ -158,7 +158,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexHEcomputational
*> \ingroup hetrd_he2hb
*
*> \par Further Details:
* =====================
@ -283,7 +283,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV2STAGE
EXTERNAL LSAME, ILAENV2STAGE
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV2STAGE, SROUNDUP_LWORK
* ..
* .. Executable Statements ..
*
@ -313,7 +314,7 @@
CALL XERBLA( 'CHETRD_HE2HB', -INFO )
RETURN
ELSE IF( LQUERY ) THEN
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
RETURN
END IF
*
@ -506,7 +507,7 @@
END IF
*
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
RETURN
*
* End of CHETRD_HE2HB

View File

@ -130,7 +130,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexHEcomputational
*> \ingroup hetrf
*
*> \par Further Details:
* =====================
@ -197,7 +197,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CHETF2, CLAHEF, XERBLA
@ -228,7 +229,7 @@
*
NB = ILAENV( 1, 'CHETRF', UPLO, N, -1, -1, -1 )
LWKOPT = N*NB
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -346,7 +347,7 @@
END IF
*
40 CONTINUE
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CHETRF

View File

@ -125,7 +125,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexHEcomputational
*> \ingroup hetrf_aa
*
* =====================================================================
SUBROUTINE CHETRF_AA( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
@ -159,7 +159,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLAHEF_AA, CGEMM, CCOPY, CSWAP, CSCAL, XERBLA
@ -190,7 +191,7 @@
*
IF( INFO.EQ.0 ) THEN
LWKOPT = (NB+1)*N
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -459,7 +460,7 @@
END IF
*
20 CONTINUE
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CHETRF_AA

View File

@ -229,7 +229,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexHEcomputational
*> \ingroup hetrf_rk
*
*> \par Further Details:
* =====================
@ -280,7 +280,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLAHEF_RK, CHETF2_RK, CSWAP, XERBLA
@ -311,7 +312,7 @@
*
NB = ILAENV( 1, 'CHETRF_RK', UPLO, N, -1, -1, -1 )
LWKOPT = N*NB
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -487,7 +488,7 @@
*
END IF
*
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CHETRF_RK

View File

@ -150,7 +150,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexHEcomputational
*> \ingroup hetrf_rook
*
*> \par Further Details:
* =====================
@ -232,7 +232,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLAHEF_ROOK, CHETF2_ROOK, XERBLA
@ -263,7 +264,7 @@
*
NB = ILAENV( 1, 'CHETRF_ROOK', UPLO, N, -1, -1, -1 )
LWKOPT = MAX( 1, N*NB )
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -386,7 +387,7 @@
END IF
*
40 CONTINUE
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CHETRF_ROOK

View File

@ -152,7 +152,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexHEcomputational
*> \ingroup hetri_3
*
*> \par Contributors:
* ==================
@ -190,7 +190,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CHETRI_3X, XERBLA
@ -225,7 +226,7 @@
CALL XERBLA( 'CHETRI_3', -INFO )
RETURN
ELSE IF( LQUERY ) THEN
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
END IF
*
@ -236,7 +237,7 @@
*
CALL CHETRI_3X( UPLO, N, A, LDA, E, IPIV, WORK, NB, INFO )
*
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
*
RETURN
*

View File

@ -123,7 +123,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexHEcomputational
*> \ingroup hetrs_aa
*
* =====================================================================
SUBROUTINE CHETRS_AA( UPLO, N, NRHS, A, LDA, IPIV, B, LDB,
@ -155,7 +155,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
EXTERNAL LSAME
REAL SROUNDUP_LWORK
EXTERNAL LSAME,SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLACPY, CLACGV, CGTSV, CSWAP, CTRSM, XERBLA
@ -186,7 +187,7 @@
RETURN
ELSE IF( LQUERY ) THEN
LWKOPT = (3*N-2)
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
END IF
*

View File

@ -186,7 +186,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHEReigen
*> \ingroup hpevd
*
* =====================================================================
SUBROUTINE CHPEVD( JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, LWORK,
@ -223,8 +223,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
REAL CLANHP, SLAMCH
EXTERNAL LSAME, CLANHP, SLAMCH
REAL CLANHP, SLAMCH, SROUNDUP_LWORK
EXTERNAL LSAME, CLANHP, SLAMCH, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CHPTRD, CSSCAL, CSTEDC, CUPMTR, SSCAL, SSTERF,
@ -268,7 +268,7 @@
LIWMIN = 1
END IF
END IF
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
RWORK( 1 ) = LRWMIN
IWORK( 1 ) = LIWMIN
*
@ -359,7 +359,7 @@
CALL SSCAL( IMAX, ONE / SIGMA, W, 1 )
END IF
*
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
RWORK( 1 ) = LRWMIN
IWORK( 1 ) = LIWMIN
RETURN

View File

@ -212,7 +212,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHEReigen
*> \ingroup hpgvd
*
*> \par Contributors:
* ==================
@ -246,7 +246,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
EXTERNAL LSAME
REAL SROUNDUP_LWORK
EXTERNAL LSAME, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CHPEVD, CHPGST, CPPTRF, CTPMV, CTPSV, XERBLA
@ -292,7 +293,7 @@
END IF
END IF
*
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
RWORK( 1 ) = LRWMIN
IWORK( 1 ) = LIWMIN
IF( LWORK.LT.LWMIN .AND. .NOT.LQUERY ) THEN
@ -374,7 +375,7 @@
END IF
END IF
*
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
RWORK( 1 ) = LRWMIN
IWORK( 1 ) = LIWMIN
RETURN

View File

@ -216,7 +216,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup hseqr
*
*> \par Contributors:
* ==================
@ -343,7 +343,8 @@
* .. External Functions ..
INTEGER ILAENV
LOGICAL LSAME
EXTERNAL ILAENV, LSAME
REAL SROUNDUP_LWORK
EXTERNAL ILAENV, LSAME, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CCOPY, CLACPY, CLAHQR, CLAQR0, CLASET, XERBLA

View File

@ -189,6 +189,8 @@
*> SIAM J. Sci. Comput, vol. 34, no. 1, 2012
*> \endverbatim
*>
*> \ingroup lamswlq
*>
* =====================================================================
SUBROUTINE CLAMSWLQ( SIDE, TRANS, M, N, K, MB, NB, A, LDA, T,
$ LDT, C, LDC, WORK, LWORK, INFO )
@ -215,7 +217,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
EXTERNAL LSAME
REAL SROUNDUP_LWORK
EXTERNAL LSAME, SROUNDUP_LWORK
* .. External Subroutines ..
EXTERNAL CTPMLQT, CGEMLQT, XERBLA
* ..
@ -259,10 +262,10 @@
*
IF( INFO.NE.0 ) THEN
CALL XERBLA( 'CLAMSWLQ', -INFO )
WORK(1) = LW
WORK(1) = SROUNDUP_LWORK(LW)
RETURN
ELSE IF (LQUERY) THEN
WORK(1) = LW
WORK(1) = SROUNDUP_LWORK(LW)
RETURN
END IF
*
@ -401,7 +404,7 @@
*
END IF
*
WORK(1) = LW
WORK(1) = SROUNDUP_LWORK(LW)
RETURN
*
* End of CLAMSWLQ

View File

@ -191,6 +191,8 @@
*> SIAM J. Sci. Comput, vol. 34, no. 1, 2012
*> \endverbatim
*>
*> \ingroup lamtsqr
*>
* =====================================================================
SUBROUTINE CLAMTSQR( SIDE, TRANS, M, N, K, MB, NB, A, LDA, T,
$ LDT, C, LDC, WORK, LWORK, INFO )
@ -217,7 +219,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
EXTERNAL LSAME
REAL SROUNDUP_LWORK
EXTERNAL LSAME, SROUNDUP_LWORK
* .. External Subroutines ..
EXTERNAL CGEMQRT, CTPMQRT, XERBLA
* ..
@ -264,7 +267,7 @@
* Determine the block size if it is tall skinny or short and wide
*
IF( INFO.EQ.0) THEN
WORK(1) = LW
WORK(1) = SROUNDUP_LWORK(LW)
END IF
*
IF( INFO.NE.0 ) THEN
@ -409,7 +412,7 @@
*
END IF
*
WORK(1) = LW
WORK(1) = SROUNDUP_LWORK(LW)
RETURN
*
* End of CLAMTSQR

View File

@ -159,6 +159,8 @@
*> SIAM J. Sci. Comput, vol. 34, no. 1, 2012
*> \endverbatim
*>
*> \ingroup laswlq
*>
* =====================================================================
SUBROUTINE CLASWLQ( M, N, MB, NB, A, LDA, T, LDT, WORK, LWORK,
$ INFO)
@ -183,16 +185,14 @@
* ..
* .. EXTERNAL FUNCTIONS ..
LOGICAL LSAME
EXTERNAL LSAME
INTEGER ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* .. EXTERNAL SUBROUTINES ..
EXTERNAL CGELQT, CTPLQT, XERBLA
* .. INTRINSIC FUNCTIONS ..
INTRINSIC MAX, MIN, MOD
* ..
* .. EXTERNAL FUNCTIONS ..
INTEGER ILAENV
EXTERNAL ILAENV
* ..
* .. EXECUTABLE STATEMENTS ..
*
* TEST THE INPUT ARGUMENTS
@ -217,7 +217,7 @@
INFO = -10
END IF
IF( INFO.EQ.0) THEN
WORK(1) = MB*M
WORK(1) = SROUNDUP_LWORK(MB*M)
END IF
*
IF( INFO.NE.0 ) THEN
@ -266,7 +266,7 @@
$ WORK, INFO )
END IF
*
WORK( 1 ) = M * MB
WORK( 1 ) = SROUNDUP_LWORK(M * MB)
RETURN
*
* End of CLASWLQ

View File

@ -161,6 +161,8 @@
*> SIAM J. Sci. Comput, vol. 34, no. 1, 2012
*> \endverbatim
*>
*> \ingroup latsqr
*>
* =====================================================================
SUBROUTINE CLATSQR( M, N, MB, NB, A, LDA, T, LDT, WORK,
$ LWORK, INFO)
@ -185,7 +187,8 @@
* ..
* .. EXTERNAL FUNCTIONS ..
LOGICAL LSAME
EXTERNAL LSAME
REAL SROUNDUP_LWORK
EXTERNAL LSAME, SROUNDUP_LWORK
* .. EXTERNAL SUBROUTINES ..
EXTERNAL CGEQRT, CTPQRT, XERBLA
* .. INTRINSIC FUNCTIONS ..
@ -215,7 +218,7 @@
INFO = -10
END IF
IF( INFO.EQ.0) THEN
WORK(1) = NB*N
WORK(1) = SROUNDUP_LWORK(NB*N)
END IF
IF( INFO.NE.0 ) THEN
CALL XERBLA( 'CLATSQR', -INFO )
@ -262,7 +265,7 @@
$ WORK, INFO )
END IF
*
work( 1 ) = N*NB
WORK( 1 ) = SROUNDUP_LWORK(N*NB)
RETURN
*
* End of CLATSQR

View File

@ -192,7 +192,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup stedc
*
*> \par Contributors:
* ==================
@ -233,8 +233,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
REAL SLAMCH, SLANST
EXTERNAL ILAENV, LSAME, SLAMCH, SLANST
REAL SLAMCH, SLANST, SROUNDUP_LWORK
EXTERNAL ILAENV, LSAME, SLAMCH, SLANST, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL XERBLA, CLACPY, CLACRM, CLAED0, CSTEQR, CSWAP,
@ -295,7 +295,7 @@
LRWMIN = 1 + 4*N + 2*N**2
LIWMIN = 3 + 5*N
END IF
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
RWORK( 1 ) = LRWMIN
IWORK( 1 ) = LIWMIN
*
@ -466,7 +466,7 @@
END IF
*
70 CONTINUE
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
RWORK( 1 ) = LRWMIN
IWORK( 1 ) = LIWMIN
*

View File

@ -376,8 +376,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
REAL SLAMCH, SLANST
EXTERNAL LSAME, SLAMCH, SLANST
REAL SLAMCH, SLANST, SROUNDUP_LWORK
EXTERNAL LSAME, SLAMCH, SLANST, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLARRV, CSWAP, SCOPY, SLAE2, SLAEV2, SLARRC,
@ -462,7 +462,7 @@
RMAX = MIN( SQRT( BIGNUM ), ONE / SQRT( SQRT( SAFMIN ) ) )
*
IF( INFO.EQ.0 ) THEN
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
IWORK( 1 ) = LIWMIN
*
IF( WANTZ .AND. ALLEIG ) THEN
@ -801,7 +801,7 @@
ENDIF
*
*
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
IWORK( 1 ) = LIWMIN
RETURN
*

View File

@ -163,7 +163,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYsolve
*> \ingroup hesv
*
* =====================================================================
SUBROUTINE CSYSV( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
@ -190,7 +190,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
EXTERNAL LSAME
REAL SROUNDUP_LWORK
EXTERNAL LSAME, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL XERBLA, CSYTRF, CSYTRS, CSYTRS2
@ -225,7 +226,7 @@
CALL CSYTRF( UPLO, N, A, LDA, IPIV, WORK, -1, INFO )
LWKOPT = INT( WORK( 1 ) )
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -258,7 +259,7 @@
*
END IF
*
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
*
RETURN
*

View File

@ -154,7 +154,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYsolve
*> \ingroup hesv_aa
*
* =====================================================================
SUBROUTINE CSYSV_AA( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
@ -182,7 +182,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL ILAENV, LSAME
REAL SROUNDUP_LWORK
EXTERNAL ILAENV, LSAME, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL XERBLA, CSYTRF_AA, CSYTRS_AA
@ -217,7 +218,7 @@
$ -1, INFO )
LWKOPT_SYTRS = INT( WORK(1) )
LWKOPT = MAX( LWKOPT_SYTRF, LWKOPT_SYTRS )
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -239,7 +240,7 @@
*
END IF
*
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
*
RETURN
*

View File

@ -177,7 +177,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYcomputational
*> \ingroup hesv_aa_2stage
*
* =====================================================================
SUBROUTINE CSYSV_AA_2STAGE( UPLO, N, NRHS, A, LDA, TB, LTB,
@ -207,7 +207,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
EXTERNAL LSAME
REAL SROUNDUP_LWORK
EXTERNAL LSAME, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CSYTRF_AA_2STAGE,
@ -267,7 +268,7 @@
*
END IF
*
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
*
RETURN
*

View File

@ -205,7 +205,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYsolve
*> \ingroup hesv_rk
*
*> \par Contributors:
* ==================
@ -247,7 +247,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
EXTERNAL LSAME
REAL SROUNDUP_LWORK
EXTERNAL LSAME, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL XERBLA, CSYTRF_RK, CSYTRS_3
@ -282,7 +283,7 @@
CALL CSYTRF_RK( UPLO, N, A, LDA, E, IPIV, WORK, -1, INFO )
LWKOPT = INT( WORK( 1 ) )
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -304,7 +305,7 @@
*
END IF
*
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
*
RETURN
*

View File

@ -181,7 +181,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYsolve
*> \ingroup hesv_rook
*
*> \par Contributors:
* ==================
@ -223,7 +223,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
EXTERNAL LSAME
REAL SROUNDUP_LWORK
EXTERNAL LSAME, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL XERBLA, CSYTRF_ROOK, CSYTRS_ROOK
@ -258,7 +259,7 @@
CALL CSYTRF_ROOK( UPLO, N, A, LDA, IPIV, WORK, -1, INFO )
LWKOPT = INT( WORK( 1 ) )
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -281,7 +282,7 @@
*
END IF
*
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
*
RETURN
*

View File

@ -276,7 +276,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYsolve
*> \ingroup hesvx
*
* =====================================================================
SUBROUTINE CSYSVX( FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B,
@ -313,8 +313,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
REAL CLANSY, SLAMCH
EXTERNAL ILAENV, LSAME, CLANSY, SLAMCH
REAL CLANSY, SLAMCH, SROUNDUP_LWORK
EXTERNAL ILAENV, LSAME, CLANSY, SLAMCH, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLACPY, CSYCON, CSYRFS, CSYTRF, CSYTRS, XERBLA
@ -356,7 +356,7 @@
NB = ILAENV( 1, 'CSYTRF', UPLO, N, -1, -1, -1 )
LWKOPT = MAX( LWKOPT, N*NB )
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -405,7 +405,7 @@
IF( RCOND.LT.SLAMCH( 'Epsilon' ) )
$ INFO = N + 1
*
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
*
RETURN
*

View File

@ -135,7 +135,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYcomputational
*> \ingroup hetrf
*
*> \par Further Details:
* =====================
@ -202,7 +202,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLASYF, CSYTF2, XERBLA
@ -233,7 +234,7 @@
*
NB = ILAENV( 1, 'CSYTRF', UPLO, N, -1, -1, -1 )
LWKOPT = MAX( 1, N*NB )
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -351,7 +352,7 @@
END IF
*
40 CONTINUE
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CSYTRF

View File

@ -125,7 +125,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYcomputational
*> \ingroup hetrf_aa
*
* =====================================================================
SUBROUTINE CSYTRF_AA( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
@ -159,7 +159,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLASYF_AA, CGEMM, CGEMV, CSCAL, CSWAP, CCOPY,
@ -191,7 +192,7 @@
*
IF( INFO.EQ.0 ) THEN
LWKOPT = (NB+1)*N
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -457,7 +458,7 @@
END IF
*
20 CONTINUE
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CSYTRF_AA

View File

@ -152,7 +152,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYcomputational
*> \ingroup hetrf_aa_2stage
*
* =====================================================================
SUBROUTINE CSYTRF_AA_2STAGE( UPLO, N, A, LDA, TB, LTB, IPIV,
@ -188,7 +188,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CCOPY, CGBTRF, CGEMM, CGETRF, CLACPY,
@ -230,7 +231,7 @@
TB( 1 ) = (3*NB+1)*N
END IF
IF( WQUERY ) THEN
WORK( 1 ) = N*NB
WORK( 1 ) = SROUNDUP_LWORK(N*NB)
END IF
END IF
IF( TQUERY .OR. WQUERY ) THEN

View File

@ -229,7 +229,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYcomputational
*> \ingroup hetrf_rk
*
*> \par Further Details:
* =====================
@ -280,7 +280,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLASYF_RK, CSYTF2_RK, CSWAP, XERBLA
@ -311,7 +312,7 @@
*
NB = ILAENV( 1, 'CSYTRF_RK', UPLO, N, -1, -1, -1 )
LWKOPT = MAX( 1, N*NB )
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -487,7 +488,7 @@
*
END IF
*
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CSYTRF_RK

View File

@ -146,7 +146,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYcomputational
*> \ingroup hetrf_rook
*
*> \par Further Details:
* =====================
@ -228,7 +228,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLASYF_ROOK, CSYTF2_ROOK, XERBLA
@ -259,7 +260,7 @@
*
NB = ILAENV( 1, 'CSYTRF_ROOK', UPLO, N, -1, -1, -1 )
LWKOPT = MAX( 1, N*NB )
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -382,7 +383,7 @@
END IF
*
40 CONTINUE
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CSYTRF_ROOK

View File

@ -152,7 +152,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYcomputational
*> \ingroup hetri_3
*
*> \par Contributors:
* ==================
@ -190,7 +190,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CSYTRI_3X, XERBLA
@ -225,7 +226,7 @@
CALL XERBLA( 'CSYTRI_3', -INFO )
RETURN
ELSE IF( LQUERY ) THEN
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
END IF
*
@ -236,7 +237,7 @@
*
CALL CSYTRI_3X( UPLO, N, A, LDA, E, IPIV, WORK, NB, INFO )
*
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
*
RETURN
*

View File

@ -123,7 +123,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYcomputational
*> \ingroup hetrs_aa
*
* =====================================================================
SUBROUTINE CSYTRS_AA( UPLO, N, NRHS, A, LDA, IPIV, B, LDB,
@ -155,7 +155,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
EXTERNAL LSAME
REAL SROUNDUP_LWORK
EXTERNAL LSAME, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLACPY, CGTSV, CSWAP, CTRSM, XERBLA
@ -186,7 +187,7 @@
RETURN
ELSE IF( LQUERY ) THEN
LWKOPT = (3*N-2)
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
END IF
*

View File

@ -290,7 +290,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup tgsen
*
*> \par Further Details:
* =====================
@ -467,6 +467,10 @@
* .. Local Arrays ..
INTEGER ISAVE( 3 )
* ..
* .. External Functions ..
REAL SROUNDUP_LWORK
EXTERNAL SROUNDUP_LWORK
* ..
* .. External Subroutines ..
REAL SLAMCH
EXTERNAL CLACN2, CLACPY, CLASSQ, CSCAL, CTGEXC, CTGSYL,
@ -537,7 +541,7 @@
LIWMIN = 1
END IF
*
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
IWORK( 1 ) = LIWMIN
*
IF( LWORK.LT.LWMIN .AND. .NOT.LQUERY ) THEN
@ -771,7 +775,7 @@
*
70 CONTINUE
*
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
IWORK( 1 ) = LIWMIN
*
RETURN

View File

@ -213,7 +213,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup tgsna
*
*> \par Further Details:
* =====================
@ -343,12 +343,13 @@
* ..
* .. External Functions ..
LOGICAL LSAME
REAL SCNRM2, SLAMCH, SLAPY2
REAL SCNRM2, SLAMCH, SLAPY2, SROUNDUP_LWORK
COMPLEX CDOTC
EXTERNAL LSAME, SCNRM2, SLAMCH, SLAPY2, CDOTC
EXTERNAL LSAME, SCNRM2, SLAMCH, SLAPY2, SROUNDUP_LWORK,
$ CDOTC
* ..
* .. External Subroutines ..
EXTERNAL CGEMV, CLACPY, CTGEXC, CTGSYL, SLABAD, XERBLA
EXTERNAL CGEMV, CLACPY, CTGEXC, CTGSYL, XERBLA
* ..
* .. Intrinsic Functions ..
INTRINSIC ABS, CMPLX, MAX
@ -402,7 +403,7 @@
ELSE
LWMIN = N
END IF
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
*
IF( MM.LT.M ) THEN
INFO = -15
@ -428,7 +429,6 @@
EPS = SLAMCH( 'P' )
SMLNUM = SLAMCH( 'S' ) / EPS
BIGNUM = ONE / SMLNUM
CALL SLABAD( SMLNUM, BIGNUM )
KS = 0
DO 20 K = 1, N
*
@ -508,7 +508,7 @@
END IF
*
20 CONTINUE
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
RETURN
*
* End of CTGSNA

View File

@ -260,7 +260,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexSYcomputational
*> \ingroup tgsyl
*
*> \par Contributors:
* ==================
@ -329,7 +329,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CGEMM, CLACPY, CLASET, CSCAL, CTGSY2, XERBLA
@ -382,7 +383,7 @@
ELSE
LWMIN = 1
END IF
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
*
IF( LWORK.LT.LWMIN .AND. .NOT.LQUERY ) THEN
INFO = -20
@ -683,7 +684,7 @@
210 CONTINUE
END IF
*
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
*
RETURN
*

View File

@ -222,7 +222,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup trevc3
*
*> \par Further Details:
* =====================
@ -278,12 +278,13 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV, ICAMAX
REAL SLAMCH, SCASUM
EXTERNAL LSAME, ILAENV, ICAMAX, SLAMCH, SCASUM
REAL SLAMCH, SCASUM, SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, ICAMAX, SLAMCH, SCASUM,
$ SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL XERBLA, CCOPY, CLASET, CSSCAL, CGEMM, CGEMV,
$ CLATRS, CLACPY, SLABAD
$ CLATRS, CLACPY
* ..
* .. Intrinsic Functions ..
INTRINSIC ABS, REAL, CMPLX, CONJG, AIMAG, MAX
@ -322,7 +323,7 @@
INFO = 0
NB = ILAENV( 1, 'CTREVC', SIDE // HOWMNY, N, -1, -1, -1 )
MAXWRK = MAX( 1, N + 2*N*NB )
WORK(1) = MAXWRK
WORK(1) = SROUNDUP_LWORK(MAXWRK)
RWORK(1) = MAX( 1, N )
LQUERY = ( LWORK.EQ.-1 .OR. LRWORK.EQ.-1 )
IF( .NOT.RIGHTV .AND. .NOT.LEFTV ) THEN
@ -371,7 +372,6 @@
*
UNFL = SLAMCH( 'Safe minimum' )
OVFL = ONE / UNFL
CALL SLABAD( UNFL, OVFL )
ULP = SLAMCH( 'Precision' )
SMLNUM = UNFL*( N / ULP )
*

View File

@ -182,7 +182,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup trsen
*
*> \par Further Details:
* =====================
@ -293,8 +293,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
REAL CLANGE
EXTERNAL LSAME, CLANGE
REAL CLANGE, SROUNDUP_LWORK
EXTERNAL LSAME, CLANGE, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLACN2, CLACPY, CTREXC, CTRSYL, XERBLA
@ -350,7 +350,7 @@
END IF
*
IF( INFO.EQ.0 ) THEN
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
END IF
*
IF( INFO.NE.0 ) THEN
@ -444,7 +444,7 @@
W( K ) = T( K, K )
50 CONTINUE
*
WORK( 1 ) = LWMIN
WORK( 1 ) = SROUNDUP_LWORK(LWMIN)
*
RETURN
*

View File

@ -116,7 +116,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup tzrzf
*
*> \par Contributors:
* ==================
@ -179,7 +179,8 @@
* ..
* .. External Functions ..
INTEGER ILAENV
EXTERNAL ILAENV
REAL SROUNDUP_LWORK
EXTERNAL ILAENV, SROUNDUP_LWORK
* ..
* .. Executable Statements ..
*
@ -207,7 +208,7 @@
LWKOPT = M*NB
LWKMIN = MAX( 1, M )
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
*
IF( LWORK.LT.LWKMIN .AND. .NOT.LQUERY ) THEN
INFO = -7
@ -301,7 +302,7 @@
IF( MU.GT.0 )
$ CALL CLATRZ( MU, N, N-M, A, LDA, TAU, WORK )
*
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
*
RETURN
*

View File

@ -255,7 +255,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unbdb
*
*> \par Further Details:
* =====================
@ -320,9 +320,9 @@
*
* ..
* .. External Functions ..
REAL SCNRM2
REAL SCNRM2, SROUNDUP_LWORK
LOGICAL LSAME
EXTERNAL SCNRM2, LSAME
EXTERNAL SCNRM2, SROUNDUP_LWORK, LSAME
* ..
* .. Intrinsic Functions
INTRINSIC ATAN2, COS, MAX, MIN, SIN
@ -377,7 +377,7 @@
IF( INFO .EQ. 0 ) THEN
LWORKOPT = M - Q
LWORKMIN = M - Q
WORK(1) = LWORKOPT
WORK(1) = SROUNDUP_LWORK(LWORKOPT)
IF( LWORK .LT. LWORKMIN .AND. .NOT. LQUERY ) THEN
INFO = -21
END IF

View File

@ -173,7 +173,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unbdb1
*
*> \par Further Details:
* =====================
@ -230,8 +230,8 @@
EXTERNAL CLACGV
* ..
* .. External Functions ..
REAL SCNRM2
EXTERNAL SCNRM2
REAL SCNRM2, SROUNDUP_LWORK
EXTERNAL SCNRM2, SROUNDUP_LWORK
* ..
* .. Intrinsic Function ..
INTRINSIC ATAN2, COS, MAX, SIN, SQRT
@ -264,7 +264,7 @@
LORBDB5 = Q-2
LWORKOPT = MAX( ILARF+LLARF-1, IORBDB5+LORBDB5-1 )
LWORKMIN = LWORKOPT
WORK(1) = LWORKOPT
WORK(1) = SROUNDUP_LWORK(LWORKOPT)
IF( LWORK .LT. LWORKMIN .AND. .NOT.LQUERY ) THEN
INFO = -14
END IF

View File

@ -173,7 +173,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unbdb2
*
*> \par Further Details:
* =====================
@ -231,8 +231,8 @@
$ XERBLA
* ..
* .. External Functions ..
REAL SCNRM2
EXTERNAL SCNRM2
REAL SCNRM2, SROUNDUP_LWORK
EXTERNAL SCNRM2, SROUNDUP_LWORK
* ..
* .. Intrinsic Function ..
INTRINSIC ATAN2, COS, MAX, SIN, SQRT
@ -265,7 +265,7 @@
LORBDB5 = Q-1
LWORKOPT = MAX( ILARF+LLARF-1, IORBDB5+LORBDB5-1 )
LWORKMIN = LWORKOPT
WORK(1) = LWORKOPT
WORK(1) = SROUNDUP_LWORK(LWORKOPT)
IF( LWORK .LT. LWORKMIN .AND. .NOT.LQUERY ) THEN
INFO = -14
END IF

View File

@ -173,7 +173,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unbdb3
*
*> \par Further Details:
* =====================
@ -229,8 +229,8 @@
EXTERNAL CLARF, CLARFGP, CUNBDB5, CSROT, CLACGV, XERBLA
* ..
* .. External Functions ..
REAL SCNRM2
EXTERNAL SCNRM2
REAL SCNRM2, SROUNDUP_LWORK
EXTERNAL SCNRM2, SROUNDUP_LWORK
* ..
* .. Intrinsic Function ..
INTRINSIC ATAN2, COS, MAX, SIN, SQRT
@ -263,7 +263,7 @@
LORBDB5 = Q-1
LWORKOPT = MAX( ILARF+LLARF-1, IORBDB5+LORBDB5-1 )
LWORKMIN = LWORKOPT
WORK(1) = LWORKOPT
WORK(1) = SROUNDUP_LWORK(LWORKOPT)
IF( LWORK .LT. LWORKMIN .AND. .NOT.LQUERY ) THEN
INFO = -14
END IF

View File

@ -183,7 +183,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unbdb4
*
*> \par Further Details:
* =====================
@ -242,8 +242,8 @@
$ XERBLA
* ..
* .. External Functions ..
REAL SCNRM2
EXTERNAL SCNRM2
REAL SCNRM2, SROUNDUP_LWORK
EXTERNAL SCNRM2, SROUNDUP_LWORK
* ..
* .. Intrinsic Function ..
INTRINSIC ATAN2, COS, MAX, SIN, SQRT
@ -277,7 +277,7 @@
LWORKOPT = ILARF + LLARF - 1
LWORKOPT = MAX( LWORKOPT, IORBDB5 + LORBDB5 - 1 )
LWORKMIN = LWORKOPT
WORK(1) = LWORKOPT
WORK(1) = SROUNDUP_LWORK(LWORKOPT)
IF( LWORK .LT. LWORKMIN .AND. .NOT.LQUERY ) THEN
INFO = -14
END IF

View File

@ -308,7 +308,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup uncsd
*
* =====================================================================
RECURSIVE SUBROUTINE CUNCSD( JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS,
@ -365,7 +365,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
EXTERNAL LSAME
REAL SROUNDUP_LWORK
EXTERNAL LSAME, SROUNDUP_LWORK
* ..
* .. Intrinsic Functions
INTRINSIC INT, MAX, MIN
@ -504,7 +505,8 @@
$ IORBDB + LORBDBWORKOPT ) - 1
LWORKMIN = MAX( IORGQR + LORGQRWORKMIN, IORGLQ + LORGLQWORKMIN,
$ IORBDB + LORBDBWORKMIN ) - 1
WORK(1) = MAX(LWORKOPT,LWORKMIN)
LWORKOPT = MAX(LWORKOPT,LWORKMIN)
WORK(1) = SROUNDUP_LWORK(LWORKOPT)
*
IF( LWORK .LT. LWORKMIN
$ .AND. .NOT. ( LQUERY .OR. LRQUERY ) ) THEN

View File

@ -247,7 +247,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup uncsd2by1
*
* =====================================================================
SUBROUTINE CUNCSD2BY1( JOBU1, JOBU2, JOBV1T, M, P, Q, X11, LDX11,
@ -299,7 +299,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
EXTERNAL LSAME
REAL SROUNDUP_LWORK
EXTERNAL LSAME, SROUNDUP_LWORK
* ..
* .. Intrinsic Function ..
INTRINSIC INT, MAX, MIN
@ -508,7 +509,7 @@
LWORKOPT = MAX( IORBDB+LORBDB-1,
$ IORGQR+LORGQROPT-1,
$ IORGLQ+LORGLQOPT-1 )
WORK(1) = LWORKOPT
WORK(1) = SROUNDUP_LWORK(LWORKOPT)
IF( LWORK .LT. LWORKMIN .AND. .NOT.LQUERY ) THEN
INFO = -19
END IF

View File

@ -150,7 +150,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexGBcomputational
*> \ingroup ungbr
*
* =====================================================================
SUBROUTINE CUNGBR( VECT, M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
@ -180,7 +180,8 @@
* ..
* .. External Functions ..
LOGICAL LSAME
EXTERNAL LSAME
REAL SROUNDUP_LWORK
EXTERNAL LSAME, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CUNGLQ, CUNGQR, XERBLA
@ -241,7 +242,7 @@
CALL XERBLA( 'CUNGBR', -INFO )
RETURN
ELSE IF( LQUERY ) THEN
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
END IF
*
@ -327,7 +328,7 @@
END IF
END IF
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CUNGBR

View File

@ -119,7 +119,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unghr
*
* =====================================================================
SUBROUTINE CUNGHR( N, ILO, IHI, A, LDA, TAU, WORK, LWORK, INFO )
@ -151,7 +151,8 @@
* ..
* .. External Functions ..
INTEGER ILAENV
EXTERNAL ILAENV
REAL SROUNDUP_LWORK
EXTERNAL ILAENV, SROUNDUP_LWORK
* ..
* .. Intrinsic Functions ..
INTRINSIC MAX, MIN
@ -178,7 +179,7 @@
IF( INFO.EQ.0 ) THEN
NB = ILAENV( 1, 'CUNGQR', ' ', NH, NH, NH, -1 )
LWKOPT = MAX( 1, NH )*NB
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -230,7 +231,7 @@
CALL CUNGQR( NH, NH, NH, A( ILO+1, ILO+1 ), LDA, TAU( ILO ),
$ WORK, LWORK, IINFO )
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CUNGHR

View File

@ -120,7 +120,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unglq
*
* =====================================================================
SUBROUTINE CUNGLQ( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
@ -155,7 +155,8 @@
* ..
* .. External Functions ..
INTEGER ILAENV
EXTERNAL ILAENV
REAL SROUNDUP_LWORK
EXTERNAL ILAENV, SROUNDUP_LWORK
* ..
* .. Executable Statements ..
*
@ -164,7 +165,7 @@
INFO = 0
NB = ILAENV( 1, 'CUNGLQ', ' ', M, N, K, -1 )
LWKOPT = MAX( 1, M )*NB
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
LQUERY = ( LWORK.EQ.-1 )
IF( M.LT.0 ) THEN
INFO = -1
@ -278,7 +279,7 @@
50 CONTINUE
END IF
*
WORK( 1 ) = IWS
WORK( 1 ) = SROUNDUP_LWORK(IWS)
RETURN
*
* End of CUNGLQ

View File

@ -121,7 +121,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup ungql
*
* =====================================================================
SUBROUTINE CUNGQL( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
@ -156,7 +156,8 @@
* ..
* .. External Functions ..
INTEGER ILAENV
EXTERNAL ILAENV
REAL SROUNDUP_LWORK
EXTERNAL ILAENV, SROUNDUP_LWORK
* ..
* .. Executable Statements ..
*
@ -181,7 +182,7 @@
NB = ILAENV( 1, 'CUNGQL', ' ', M, N, K, -1 )
LWKOPT = N*NB
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
*
IF( LWORK.LT.MAX( 1, N ) .AND. .NOT.LQUERY ) THEN
INFO = -8

View File

@ -121,7 +121,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup ungqr
*
* =====================================================================
SUBROUTINE CUNGQR( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
@ -156,7 +156,8 @@
* ..
* .. External Functions ..
INTEGER ILAENV
EXTERNAL ILAENV
REAL SROUNDUP_LWORK
EXTERNAL ILAENV, SROUNDUP_LWORK
* ..
* .. Executable Statements ..
*
@ -165,7 +166,7 @@
INFO = 0
NB = ILAENV( 1, 'CUNGQR', ' ', M, N, K, -1 )
LWKOPT = MAX( 1, N )*NB
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
LQUERY = ( LWORK.EQ.-1 )
IF( M.LT.0 ) THEN
INFO = -1
@ -279,7 +280,7 @@
50 CONTINUE
END IF
*
WORK( 1 ) = IWS
WORK( 1 ) = SROUNDUP_LWORK(IWS)
RETURN
*
* End of CUNGQR

View File

@ -121,7 +121,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup ungrq
*
* =====================================================================
SUBROUTINE CUNGRQ( M, N, K, A, LDA, TAU, WORK, LWORK, INFO )
@ -156,7 +156,8 @@
* ..
* .. External Functions ..
INTEGER ILAENV
EXTERNAL ILAENV
REAL SROUNDUP_LWORK
EXTERNAL ILAENV, SROUNDUP_LWORK
* ..
* .. Executable Statements ..
*
@ -181,7 +182,7 @@
NB = ILAENV( 1, 'CUNGRQ', ' ', M, N, K, -1 )
LWKOPT = M*NB
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
*
IF( LWORK.LT.MAX( 1, M ) .AND. .NOT.LQUERY ) THEN
INFO = -8
@ -286,7 +287,7 @@
50 CONTINUE
END IF
*
WORK( 1 ) = IWS
WORK( 1 ) = SROUNDUP_LWORK(IWS)
RETURN
*
* End of CUNGRQ

View File

@ -116,7 +116,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup ungtr
*
* =====================================================================
SUBROUTINE CUNGTR( UPLO, N, A, LDA, TAU, WORK, LWORK, INFO )
@ -147,7 +147,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL ILAENV, LSAME
REAL SROUNDUP_LWORK
EXTERNAL ILAENV, LSAME, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CUNGQL, CUNGQR, XERBLA
@ -179,7 +180,7 @@
NB = ILAENV( 1, 'CUNGQR', ' ', N-1, N-1, N-1, -1 )
END IF
LWKOPT = MAX( 1, N-1 )*NB
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -245,7 +246,7 @@
$ LWORK, IINFO )
END IF
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CUNGTR

View File

@ -189,7 +189,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unmbr
*
* =====================================================================
SUBROUTINE CUNMBR( VECT, SIDE, TRANS, M, N, K, A, LDA, TAU, C,
@ -218,7 +218,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL ILAENV, LSAME
REAL SROUNDUP_LWORK
EXTERNAL ILAENV, LSAME, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CUNMLQ, CUNMQR, XERBLA
@ -290,7 +291,7 @@
ELSE
LWKOPT = 1
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -367,7 +368,7 @@
$ TAU, C( I1, I2 ), LDC, WORK, LWORK, IINFO )
END IF
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CUNMBR

View File

@ -171,7 +171,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unmhr
*
* =====================================================================
SUBROUTINE CUNMHR( SIDE, TRANS, M, N, ILO, IHI, A, LDA, TAU, C,
@ -199,7 +199,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL ILAENV, LSAME
REAL SROUNDUP_LWORK
EXTERNAL ILAENV, LSAME, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CUNMQR, XERBLA
@ -253,7 +254,7 @@
NB = ILAENV( 1, 'CUNMQR', SIDE // TRANS, M, NH, NH, -1 )
END IF
LWKOPT = NW*NB
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -285,7 +286,7 @@
CALL CUNMQR( SIDE, TRANS, MI, NI, NH, A( ILO+1, ILO ), LDA,
$ TAU( ILO ), C( I1, I2 ), LDC, WORK, LWORK, IINFO )
*
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CUNMHR

View File

@ -160,7 +160,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unmlq
*
* =====================================================================
SUBROUTINE CUNMLQ( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC,
@ -195,7 +195,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLARFB, CLARFT, CUNML2, XERBLA
@ -250,7 +251,7 @@
$ K, -1 ) )
LWKOPT = NW*NB + TSIZE
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -343,7 +344,7 @@
$ C( IC, JC ), LDC, WORK, LDWORK )
10 CONTINUE
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CUNMLQ

View File

@ -160,7 +160,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unmql
*
* =====================================================================
SUBROUTINE CUNMQL( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC,
@ -194,7 +194,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLARFB, CLARFT, CUNM2L, XERBLA
@ -249,7 +250,7 @@
$ K, -1 ) )
LWKOPT = NW*NB + TSIZE
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -332,7 +333,7 @@
$ WORK, LDWORK )
10 CONTINUE
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CUNMQL

View File

@ -160,7 +160,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unmqr
*
* =====================================================================
SUBROUTINE CUNMQR( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC,
@ -194,7 +194,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLARFB, CLARFT, CUNM2R, XERBLA
@ -245,7 +246,7 @@
NB = MIN( NBMAX, ILAENV( 1, 'CUNMQR', SIDE // TRANS, M, N, K,
$ -1 ) )
LWKOPT = NW*NB + TSIZE
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -331,7 +332,7 @@
$ C( IC, JC ), LDC, WORK, LDWORK )
10 CONTINUE
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CUNMQR

View File

@ -160,7 +160,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unmrq
*
* =====================================================================
SUBROUTINE CUNMRQ( SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC,
@ -195,7 +195,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLARFB, CLARFT, CUNMR2, XERBLA
@ -250,7 +251,7 @@
$ K, -1 ) )
LWKOPT = NW*NB + TSIZE
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -337,7 +338,7 @@
$ WORK, LDWORK )
10 CONTINUE
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CUNMRQ

View File

@ -168,7 +168,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unmrz
*
*> \par Contributors:
* ==================
@ -213,7 +213,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL LSAME, ILAENV
REAL SROUNDUP_LWORK
EXTERNAL LSAME, ILAENV, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CLARZB, CLARZT, CUNMR3, XERBLA
@ -271,7 +272,7 @@
$ K, -1 ) )
LWKOPT = NW*NB + TSIZE
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -371,7 +372,7 @@
*
END IF
*
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
*
RETURN
*

View File

@ -164,7 +164,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup unmtr
*
* =====================================================================
SUBROUTINE CUNMTR( SIDE, UPLO, TRANS, M, N, A, LDA, TAU, C, LDC,
@ -192,7 +192,8 @@
* .. External Functions ..
LOGICAL LSAME
INTEGER ILAENV
EXTERNAL ILAENV, LSAME
REAL SROUNDUP_LWORK
EXTERNAL ILAENV, LSAME, SROUNDUP_LWORK
* ..
* .. External Subroutines ..
EXTERNAL CUNMQL, CUNMQR, XERBLA
@ -256,7 +257,7 @@
END IF
END IF
LWKOPT = NW*NB
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
END IF
*
IF( INFO.NE.0 ) THEN
@ -301,7 +302,7 @@
CALL CUNMQR( SIDE, TRANS, MI, NI, NQ-1, A( 2, 1 ), LDA, TAU,
$ C( I1, I2 ), LDC, WORK, LWORK, IINFO )
END IF
WORK( 1 ) = LWKOPT
WORK( 1 ) = SROUNDUP_LWORK(LWKOPT)
RETURN
*
* End of CUNMTR